RabbitMQ的基本使用
2023-02-18 16:39:32 时间
RabbitMQ的基本使用
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
定义消息接收一
/*
接收MQ消息
*/
@Slf4j
@Component
public class MqReceiver {
@RabbitListener(queues = "spoon-queues")
public void process(String message) {
log.info("MqReceiver: {}", message);
}
}
定义消息接收二(自动创建队列)
/*
接收MQ消息
*/
@Slf4j
@Component
public class MqReceiver {
@RabbitListener(queuesToDeclare = @Queue("spoon-queues"))
public void process(String message) {
log.info("MqReceiver: {}", message);
}
}
定义消息接收三(自动创建队列+Exchange和Queues绑定)
/*
接收MQ消息
*/
@Slf4j
@Component
public class MqReceiver {
@RabbitListener(bindings = @QueueBinding(
value = @Queue("spoon-queues"),
exchange = @Exchange("spoon-exchange")
))
public void process(String message) {
log.info("MqReceiver: {}", message);
}
}
定义消息发送
/*
发送MQ消息
*/
@SpringBootTest
class RabbitMqTestApplicationTests {
@Autowired
private AmqpTemplate amqpTemplate;
@Test
void contextLoads() {
amqpTemplate.convertAndSend("spoon-queues", "now : " + new Date());
}
}
定义消息接收三演示
消息接收方
/*
数码供应商 接收消息
*/
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange("spoon-order"),
key = "computer",
value = @Queue("queues-computer-order")
))
public void processComputer(String message) {
log.info("Computer MqReceiver: {}", message);
}
/*
水果供应商 接收消息
*/
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange("spoon-order"),
key = "fruit",
value = @Queue("queues-fruit-order")
))
public void processFruit(String message) {
log.info("Fruit MqReceiver: {}", message);
}
消息发送方
amqpTemplate.convertAndSend("spoon-order", "computer", "now : " + new Date());
错误提示
- Failed to declare queue(s):[spoon-queues]: 消息队列未创建
- SimpleMessageConverter only supports String, byte[] and Serializable payloads, received: 传输对象需序列化
相关文章
- Xmind 2022 for Mac(思维导图软件) v22.11.2508中文版
- 攻防演练下的实战思路:贰
- T507 开发板Ubuntu系统定制文件系统的操作过程
- 域渗透|浅谈MS17010多种打法
- 宝塔后渗透-添加用户|反弹shell
- Cobaltstrike4.0 —— shellcode分析
- HTB渗透之Tenten
- 电磁防护的排流保护系统 固态去耦合器
- java审计之ofcms
- 实战|一次对企业内部系统的渗透测试
- Java代码审计之-IO小记
- 从Tomcat源码中寻找request路径进行注入
- 2023年企业固定资产管理怎么破局?
- 解除Windows 2003的IIS 6.0文件上传限制
- TunesKit AceMovi Video Editor for mac(视频编辑工具) 4.9.20激活版
- WebStorm 2022 for Mac(Web前端开发工具) v2022.3.1中文免登陆版
- Java的数组冒泡排序法
- 互联网产品设计文档类型简介(BRD、MRD、PRD和FSD)
- 弹出的模式窗体控制父窗体的方法
- 一个匹配正浮点数的正则表达式