1、引入mq依赖 amqp
2、application.yml配置mq
3、创建生产者
(直连型交换机)
创建队列、交换机 并将2个进行绑定
写1个简单的controller接口进行消息推送 rabbitTemplate.convertAndSend
创建1个消息接听监听类,类上添加@RabbitListener注解
(主题交换机) # *
创建2个队列、交换机 并将2个队列分别和交换机进行绑定
写2个方法进行消息推送
创建2个消息接听监听类
(扇形交换机)
创建3个队列、交换机 并将3个队列分别和交换机进行绑定
写1个简单的controller接口进行消息推送
创建3个消息接听监听类
消息回调:
1、在rabbitmq-provider项目的application.yml文件上,加上消息确认的配置项
#确认消息已发送到交换机(Exchange) publisher-confirms: true
#确认消息已发送到队列(Queue) publisher-returns: true
2、配置相关的消息确认回调函数
rabbitmq:
host: 0.0.0.0 //IP地址
port: *** //端口号
username:
password:
virtual-host: /
connection-timeout: 15000
publisher-confirms: true
publisher-returns: true
template:
mandatory: true
listener:
simple:
acknowledge-mode: manual //开启ACK
mqConfig.java
@Configuration
public class RabbitConfig {
private Logger logger = LoggerFactory.getLogger(RabbitConfig.class);
@Bean
public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory){
RabbitTemplate template = new RabbitTemplate(connectionFactory)