一、生产者端:
1、pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <groupId>com.imooc.rabbitmq</groupId> <name>rabbitmq-producter</name> <parent> <properties> <dependencies> <dependency> <!-- rabbitmq依赖 --> <dependency> </dependencies> <build>
|
2、application.properties:
spring.rabbitmq.addresses=192.168.20.168:5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest spring.rabbitmq.virtual-host=/ spring.rabbitmq.connection-timeout=15000 spring.rabbitmq.publisher-confirms=true spring.rabbitmq.publisher-returns=true spring.rabbitmq.template.mandatory=true server.servlet.context-path=/ server.port=8001 spring.http.encoding.charset=UTF-8 # 格式化数据 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 spring.jackson.default-property-inclusion=NON_NULL #spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true #spring.datasource.driver-class-name=com.mysql.jdbc.Driver #spring.datasource.username=root #spring.datasource.password=123456 # #mybatis.type-aliases-package=com.imooc.rabbitmq #mybatis.mapper-locations=classpath:com/imooc/rabbitmq/mapping/*.xml #logging.level.tk.mybatis=TRACE |
3、OrderSender.java:
package com.imooc.rabbitmq.producer; import org.springframework.amqp.rabbit.core.RabbitTemplate; import com.imooc.rabbitmq.entity.Order; @Component //需在rabbitmq控制台中配置交换机、序列并进行绑定。 |
4、Order.java:
package com.imooc.rabbitmq.entity; import java.io.Serializable; public class Order implements Serializable{ private static final long serialVersionUID = 684373659812298774L; private String id; private String name; private String messageId; // 存储消息发送的唯一标识 public String getId() { public void setId(String id) { public String getName() { public void setName(String name) { public String getMessageId() { public void setMessageId(String messageId) { } |
5、测试类:
package com.imooc.rabbitmq; import java.util.UUID; import org.junit.Test; import com.imooc.rabbitmq.entity.Order; @RunWith(SpringRunner.class) @Test |
二、消费者端:
1、pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <groupId>com.imooc.rabbitmq</groupId> <name>rabbitmq-customer</name> <parent> <properties> <dependencies> <dependency> <build> |
2、application.properties:
# springboot 整合 rabbitmq 基本配置 # springboot 整合 rabbitmq 消费端配置 |
3、OrderReceiver.java:
package com.imooc.rabbitmq.consumer; import java.util.Map; import org.springframework.amqp.rabbit.annotation.Exchange; import com.imooc.rabbitmq.entity.Order; @Component |
4、Order.java:
package com.imooc.rabbitmq.entity; import java.io.Serializable; public class Order implements Serializable{ private static final long serialVersionUID = 684373659812298774L; private String id; private String name; private String messageId; // 存储消息发送的唯一标识 public String getId() { public void setId(String id) { public String getName() { public void setName(String name) { public String getMessageId() { public void setMessageId(String messageId) { } |