RabbitMQ 用SpringBoot处理消息队列
来源:互联网 发布:html5 modernizer.js 编辑:程序博客网 时间:2024/04/25 19:09
使用
RabbitMQ直接被SpringBoot支持,使用是非常的方便。具体只需要做三件事:
在SpringBoot项目文件中引入消息队列的库
compile("org.springframework.boot:spring-boot-starter-amqp")// 或者compile('org.springframework.cloud:spring-cloud-starter-bus-amqp')
添加RabbitMQ的登录配置
spring.rabbitmq.host "your host ip or domain name"spring.rabbitmq.port 5672spring.rabbitmq.username "mqadmin"spring.rabbitmq.password "mqadmin"
使用注解实现生产者或者消费者
// 发送消息// 在Compontent类中使用Autowired注入RabbitTemplate,实现消息模板@AutowiredRabbitTemplate rabbitTemplate;rabbitTemplate.convertAndSend("MessageQueueName", "{some string content....}");// 接收消息// 使用RabbitListener注解接收消息的方法// 参数为String类型,没有返回值(void)@RabbitListener(queues = "MessageQueueName")public void processMessage(String message) {}
配合RabbitMQ的管理界面测试的问题
RabbitMQ提供了一个非常好用的管理界面,可以直接查看消息队列,还可以对队列进行添加,清空操作。
可是当通过管理界面添加的消息给SpringBoot的RabbitMQ消费时,会有乱码的问题!如果直接使用SpringBoot的RabbitTemplate模板是没有问题的。
这个问题主要的原因在于两个端使用的消息格式不一致导致的。
为了通过管理界面给SpringBoot的消费者发送测试消息需要添加两个属性,保证SpringBoot的代码可以解析。
主要是添加两个属性:
“content_type”:”text/plain”
“content_encoding”:”UTF-8”
表示内容类型为文本,编码格式为UTF-8。
这个非常重要,如果查看SpringBoot代码投递的消息,通过GetMessage可以查看SpringBoot输出的消息就是这个样子的。
阅读全文
0 0
- RabbitMQ 用SpringBoot处理消息队列
- SpringBoot的RabbitMQ消息队列: 一、消息发送接收第一印象
- SpringBoot的RabbitMQ消息队列: 一、消息发送接收第一印象
- SpringBoot的RabbitMQ消息队列: 二、第一模式"Hello World!"
- SpringBoot的RabbitMQ消息队列: 三、第二模式"Work queues"
- SpringBoot的RabbitMQ消息队列: 四、第三模式"Publish/Subscribe"
- SpringBoot的RabbitMQ消息队列: 六、第五模式"Topics"
- SpringBoot的RabbitMQ消息队列: 五、第四模式"Routing"
- SpringBoot的RabbitMQ消息队列: 二、第一模式"Hello World!"
- SpringBoot的RabbitMQ消息队列: 三、第二模式"Work queues"
- SpringBoot的RabbitMQ消息队列: 四、第三模式"Publish/Subscribe"
- SpringBoot的RabbitMQ消息队列: 五、第四模式"Routing"
- SpringBoot的RabbitMQ消息队列: 六、第五模式"Topics"
- RabbitMQ消息收发-SpringBoot
- Spring集成消息队列RabbitMQ(消息失败处理)
- php RabbitMQ消息队列
- RabbitMQ消息队列
- RabbitMQ(消息队列)
- Streams API 详解
- 第7章内部类和异常类
- 关于okhttp的同步消息和异步消息总结(java中)
- 设计模式--提供者模式provider
- 从斐波那契数列分析递归与动态规划(JAVA)
- RabbitMQ 用SpringBoot处理消息队列
- 引用CSS文件到html网页里方法
- Hadoop无法访问web50070端口
- HDOJ 2070 Fibbonacci Number
- Android 常用的依赖和权限
- 为什么知道那么多道理,还是过不好这一生,看看这里吧
- leetcode 120. Triangle
- caffe ensemble(模型融合+adaboost)
- Linux笔记