初始化

master
fst1996 2023-09-14 21:05:28 +08:00
commit 43c8437f41
7 changed files with 296 additions and 0 deletions

47
.gitignore vendored 100644
View File

@ -0,0 +1,47 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
target/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml

50
pom.xml 100644
View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>menghang-common</artifactId>
<groupId>com.bawei</groupId>
<version>3.6.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<version>3.6.0</version>
<artifactId>menghang-common-rabbit</artifactId>
<repositories>
<repository>
<id>menghang-public</id>
<name>梦航-public</name>
<url>http://192.168.111.130:8081/repository/maven-public/</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>menghang-releases</id>
<name>梦航-releases</name>
<url>http://192.168.111.130:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 系统公共依赖 -->
<dependency>
<groupId>com.bawei</groupId>
<artifactId>menghang-common-core</artifactId>
<version>3.6.0</version>
</dependency>
<!-- rabbit MQ 消息队列 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,46 @@
package com.bawei.common.rabbit.config;
import org.springframework.amqp.rabbit.annotation.RabbitListenerConfigurer;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory;
import org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory;
@Configuration
public class RabbitMQConfig implements RabbitListenerConfigurer {
// 可以将json串反序列化为对象
@Override
public void configureRabbitListeners(RabbitListenerEndpointRegistrar rabbitListenerEndpointRegistrar) {
rabbitListenerEndpointRegistrar.setMessageHandlerMethodFactory(messageHandlerMethodFactory());
}
@Bean
MessageHandlerMethodFactory messageHandlerMethodFactory(){
DefaultMessageHandlerMethodFactory messageHandlerMethodFactory = new DefaultMessageHandlerMethodFactory();
messageHandlerMethodFactory.setMessageConverter(mappingJackson2MessageConverter());
return messageHandlerMethodFactory;
}
@Bean
public MappingJackson2MessageConverter mappingJackson2MessageConverter(){
return new MappingJackson2MessageConverter();
}
/**
* RabbitTemplate,json
* @param connectionFactory
* @return
*/
@Bean
public RabbitTemplate jacksonRabbitTemplate(ConnectionFactory connectionFactory) {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());
return rabbitTemplate;
}
}

View File

@ -0,0 +1,19 @@
package com.bawei.common.rabbit.constant;
/**
* @author DongZl
* @description:
* @Date 2022-10-21 01:59
*/
public class QueueConstant {
/**
*
*/
public static final String TEST_NAME = "test";
/**
*
*/
public static final String PRODUCT_ADD = "product_add";
}

View File

@ -0,0 +1,96 @@
package com.bawei.common.rabbit.domain;
import com.alibaba.fastjson2.JSONObject;
import com.bawei.common.core.utils.uuid.IdUtils;
import com.bawei.common.core.web.domain.BaseEntity;
import javax.swing.text.html.parser.Entity;
import java.io.Serializable;
/**
* @author DongZl
* @description: RabbitMq
* @Date 2022-10-21 09:14
*/
public class Message<T> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
*
*/
private long createTime;
/**
*
*/
private T body;
public Message () {
}
public Message (String id, T body) {
this.id = id;
this.createTime = System.currentTimeMillis();
this.body = body;
}
/**
* ID
* @param body
* @return
*/
public static <T> Message<T> builderMsg(T body){
return new Message(IdUtils.fastUUID(), body);
}
/**
*
* @param id
* @param body
* @return
*/
public static <T> Message<T> builderMsg(String id, T body){
return new Message(id, body);
}
public String getId () {
return id;
}
public void setId (String id) {
this.id = id;
}
public long getCreateTime () {
return createTime;
}
public void setCreateTime (long createTime) {
this.createTime = createTime;
}
public T getBody () {
return body;
}
public void setBody (T body) {
this.body = body;
}
@Override
public String toString () {
return "Message{" +
"id='" + id + '\'' +
", createTime=" + createTime +
", body=" + JSONObject.toJSONString(body) +
'}';
}
}

View File

@ -0,0 +1,37 @@
package com.bawei.common.rabbit.enums;
import com.bawei.common.rabbit.constant.QueueConstant;
/**
* @author DongZl
* @description:
* @Date 2022-10-21 01:44
*/
public enum QueueEnum {
TEST(QueueConstant.TEST_NAME, "测试队列"),
PRODUCT_ADD(QueueConstant.PRODUCT_ADD, "商品新增队列"),
;
private String queueName;
private String queueDesc;
public String queueName () {
return queueName;
}
public String queueDesc () {
return queueDesc;
}
public String queueStr(){
return new StringBuilder(this.queueName).append("(").append(this.queueDesc).append(")").toString();
}
QueueEnum (String queueName, String queueDesc) {
this.queueName = queueName;
this.queueDesc = queueDesc;
}
}

View File

@ -0,0 +1 @@
com.bawei.common.rabbit.config.RabbitMQConfig