一、xml文件:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
二、配置文件信息:
spring.rabbitmq.host=192.168.1.110
spring.rabbitmq.port=6005
spring.rabbitmq.username=guest
#密码需要解密
spring.rabbitmq.password=guest
#交换机根据要订阅的MQ来配置
your.exchange.name=yourExchange
#队列名字需要自己设置为不一样的
your.queue.name=yourQueue
#routing-key需要根据订阅的MQ来配置
your.routing.name=yourRoutingKey
三、生产者的代码:
@Autowired
private RabbitTemplate rabbitTemplate;
@Value("${your.exchange.name}")
private String yourExchangeName;
@Value("${your.routing.name}")
private String yourRoutingKeyName;
rabbitTemplate.convertAndSend(yourExchangeName, yourRoutingKeyName, "你要发给MQ的消息");
四、消费者的代码:
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.stereotype.Component;
@Component
public class OneListener {
@RabbitListener(
bindings = {
@QueueBinding(
value = @Queue("${your.queue.name}"),
exchange = @Exchange(value = "${your.exchange.name}",
durable = "true"),
key = "${your.routing.name}")
}
)
public void process(@Payload String msg) {
System.out.println("获取告警msg ==> "+msg);
}
}
五、参考资料
1、https://blog.csdn.net/zhaodj5660/article/details/79895562
2、介绍RabbitMQ的三种exchange模式 ==> https://blog.csdn.net/qq_35387940/article/details/100514134
3、https://www.jianshu.com/p/de0c00359771