资讯专栏INFORMATION COLUMN

RabbitMQ与spring集成,配置完整的生产者和消费者

robin / 2627人阅读

摘要:与协议详解可以看看这个下面是和集成的配置我配置了二种和公共配置配置,指定连接参数通过指定下面的信息,当前中的和会在服务器上自动生成定义说明是否持久化仅创建者可以使用的私有队列,断开后自动删除当所

RabbitMQ与AMQP协议详解可以看看这个 http://www.cnblogs.com/franky...

下面是rabbitMQ和spring集成的配置,我配置了二种ExCahange: topicExchange和directExChange

</>复制代码

  1. Spring公共配置

生成者demo例子 :

</>复制代码

  1. @Controller
  2. @RequestMapping("/amqpTest")
  3. public class AmqpTestController {
  4. @Autowired
  5. private AmqpTemplate amqpTemplate;
  6. @RequestMapping("/sendMsg")
  7. @ResponseBody
  8. public String sendAmqbMsg(Model model,@RequestParam(value="msg",defaultValue="hello world!!!")String msg){
  9. if(model!=null&&!"".equals(msg)){
  10. amqpTemplate.convertAndSend("mq.asdfExChange", "mq.asdf.send", msg);
  11. }else{
  12. amqpTemplate.convertAndSend("mq.asdfExChange", "mq.asdf.send", "hello world");
  13. }
  14. return "success";
  15. }
  16. @RequestMapping("/sendMsg2")
  17. @ResponseBody
  18. public String sendAmqbMsg2(Model model,@RequestParam(value="msg",defaultValue="hello world!!!")String msg){
  19. if(model!=null&&!"".equals(msg)){
  20. amqpTemplate.convertAndSend("mq.asdfExChange", "mq.asdf2.send", "这个世界很奇妙!!!");
  21. }else{
  22. amqpTemplate.convertAndSend("mq.asdfExChange", "mq.asdf2.send", "这个世界很奇妙");
  23. }
  24. return "success";
  25. }
  26. @RequestMapping("/sendMsg3")
  27. @ResponseBody
  28. public String sendAmqbMsg3(Model model,@RequestParam(value="msg",defaultValue="hello world!!!")String msg){
  29. if(model!=null&&!"".equals(msg)){
  30. amqpTemplate.convertAndSend("mq.qwerExChange", "mq.qwer.send", "神奇的世界!!!");
  31. }else{
  32. amqpTemplate.convertAndSend("mq.qwerExChange", "mq.qwer.send", "神奇的世界");
  33. }
  34. return "success";
  35. }
  36. }

消费者:

这里我按照配置列出来一个Demo

</>复制代码

消费者

路径匹配上就没有什么问题.public class AsdfConsumer implements MessageListener{

</>复制代码

  1. static{
  2. System.out.println("已经依赖成功 ");
  3. }
  4. public void onMessage(Message message) {
  5. MessageProperties m=message.getMessageProperties();
  6. // System.out.println(m);
  7. String msg= new String (message.getBody());
  8. System.out.println("消费掉了:"+msg+"------->>>>>");
  9. }
  10. }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75859.html

相关文章

  • Spring Boot 参考指南(消息传递)

    摘要:还自动配置发送和接收消息所需的基础设施。支持是一个轻量级的可靠的可伸缩的可移植的消息代理,基于协议,使用通过协议进行通信。 32. 消息传递 Spring框架为与消息传递系统集成提供了广泛的支持,从使用JmsTemplate简化的JMS API到使用完整的基础设施异步接收消息,Spring AMQP为高级消息队列协议提供了类似的特性集。Spring Boot还为RabbitTempla...

    Doyle 评论0 收藏0
  • springboot 集成rabbitmq 实例

    摘要:集成实例个人在学习时发现网上很少有系统性介绍和如何集成的,其他人总结的都片段化,所以结合个人调研过程,整理此篇文章。 springboot 集成rabbitmq 实例 个人在学习rabbitmq时发现网上很少有系统性介绍springboot和rabbitmq如何集成的,其他人总结的都片段化,所以结合个人调研过程,整理此篇文章。 本文章共分为以下部分: rabbitmq简介 sprin...

    springDevBird 评论0 收藏0
  • 慕课网_《Java消息中间件》学习总结

    摘要:时间年月日星期六说明本文部分内容均来自慕课网。这个时候,可以启动多台积分系统,来同时消费这个消息中间件里面的登录消息,达到横向扩展的作用。 时间:2017年07月22日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学源码:无学习源码:https://github.com/zccodere/s... 第一章:课程介绍 1-1 课程安排 Java...

    twohappy 评论0 收藏0
  • Spring Cloud构建微服务架构:消息驱动微服务(入门)【Dalston版】

    摘要:它通过使用来连接消息代理中间件以实现消息事件驱动的微服务应用。该示例主要目标是构建一个基于的微服务应用,这个微服务应用将通过使用消息中间件来接收消息并将消息打印到日志中。下面我们通过编写生产消息的单元测试用例来完善我们的入门内容。 之前在写Spring Boot基础教程的时候写过一篇《Spring Boot中使用RabbitMQ》。在该文中,我们通过简单的配置和注解就能实现向Rabbi...

    smallStone 评论0 收藏0
  • Spring boot整合RabbitMQ

    摘要:如果你注定要成为厉害的人那问题的答案就深藏在你的血脉里。本篇文章主要讲述与的整合。有想了解重构的朋友,我之前也有对重构一书的解读,出门左转就能看到。 如果你注定要成为厉害的人, 那问题的答案就深藏在你的血脉里。 本篇文章主要讲述Spring Boot与RabbitMQ的整合。因为我们公司的云服务用到了RabbitMQ 技术,之前都是自己封装,正好我们也正在往SpringBoot转变,这...

    snifes 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<