rabbitmq是基于AMQP规范的一个消息代理, 它可以兼容jms, 支持其他语言, 并且可以跨平台

1, 安装

1) 普通安装

度娘:

2) docker 安装

sudo docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:3-management

安装成功后:  使用 guest/guest 用户登录

2 使用:

1) 添加 rabbitmq的依赖

        <!--添加 rabbitmq的依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>

2), 添加配置, 默认的配置为 localhost: 5672

########### rabbitmq 的配置 ******
spring: rabbitmq:host: 192.168.50.202port: 5672
#    username: admin
#    password: secret

3), 生产者:

package com.wenbronk.enterprise.rabbitmq.send;import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;/*** 消息发送者* 实现接口, 为了开机就自动发送* Created by wenbronk on 2017/6/13.*/
@Component
public class RabbitMQSender implements CommandLineRunner{@Autowiredprivate RabbitTemplate rabbitTemplate;@Overridepublic void run(String... args) throws Exception {rabbitTemplate.convertAndSend("my-queue", "来自rabiitmq的问候");}
}

4) 消费者:

package com.wenbronk.enterprise.rabbitmq.receive;import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;/*** 消息接收者* Created by wenbronk on 2017/6/13.*/
@Component
public class RabbitMQReceive {/*** 使用rabbitlistener接收消息* @param message*/@RabbitListener(queues = "my-queue")public void receiveMessage(String message) {System.out.println("receive: " + message);}}

5) ,使用队列模式:

package com.wenbronk.enterprise.rabbitmq.config;import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 队列模式的bean* Created by wenbronk on 2017/6/13.*/
@Configuration
public class QueueConfig {/*** 定义使用到的队列* @return*/@Beanpublic Queue myQueue() {return new Queue("my-queue");}
}

启动后, 就会自动发送消息

另外, 有看到过这个异常且无限循环的, 可以试下

org.springframework.amqp.AmqpException: No method found for class

https://jira.spring.io/browse/AMQP-573

  @Beanpublic RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {RabbitTemplate template = new RabbitTemplate(connectionFactory);template.setMessageConverter(new Jackson2JsonMessageConverter());return template;}@Beanpublic SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory) {SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();factory.setConnectionFactory(connectionFactory);factory.setMessageConverter(new Jackson2JsonMessageConverter());return factory;}

调用:

@RabbitListener(queues = "merchant", containerFactory="rabbitListenerContainerFactory")
public void process(@Payload UpdateMerchant request) { UpdateMerchantResponse response = new UpdateMerchantResponse();logger.info(request.getMerchantId() + "->" + response.getReturnCode());}

springboot-26-springboot 集成rabbitmq相关推荐

  1. springboot 集成rabbitmq 实例

    springboot 集成rabbitmq 实例 个人在学习rabbitmq时发现网上很少有系统性介绍springboot和rabbitmq如何集成的,其他人总结的都片段化,所以结合个人调研过程,整理 ...

  2. SpringBoot集成RabbitMQ消息队列搭建与ACK消息确认入门

    1.Windows下安装RabbitMQ的步骤详解+图解(erlang+RabbitMQ) 2.SpringBoot集成RabbitMQ参考文章 1.RabbitMQ介绍 RabbitMQ是实现AMQ ...

  3. Springboot集成RabbitMQ一个完整案例

    springboot 集成 RabbitMQ 非常简单,如果只是简单的使用配置非常少,springboot 提供了 spring-boot-starter-amqp 对消息各种支持. 1.配置pom文 ...

  4. springboot 集成 RabbitMQ confirm 确认模式和 return 回退模式以及Consumer Ack模式

    springboot 集成 RabbitMQ confirm 确认模式和 return 回退模式以及Consumer Ack模式 说明: RabbitMQ消息的可靠投递 在使用 RabbitMQ 的时 ...

  5. Springboot集成rabbitmq实现延时队列

    Springboot集成rabbitmq实现延时队列 什么是延时队列? 列举几个使用场景: 常见的种类有: 延时任务-实现方式: 详细信息:[https://www.cnblogs.com/JonaL ...

  6. springboot集成rabbitmq商品秒杀业务实战(流量削峰)

    消息队列如何实现流量削峰? 要对流量进行削峰,最容易想到的解决方案就是用消息队列来缓冲瞬时流量,把同步的直接调用转换成异步的间接推送,中间通过一个队列在一端承接瞬时的流量洪峰,在另一端平滑地将消息推送 ...

  7. Springboot集成rabbitMQ之mandatory和备份交换机

    Springboot集成rabbitMQ之mandatory和备份交换机 mandatory 之前编写的消息队列代码中,通过重写ConfirmCallback中的confirm方法实现了消息送达的确认 ...

  8. RabbitMQ——SpringBoot集成RabbitMQ

    文章目录: 1.创建一个SpringBoot工程--消息发送者 1.创建一个SpringBoot工程--消息接收者 3.测试结果 3.1 direct 3.2 fanout 3.3 topic 3.4 ...

  9. SpringBoot集成rabbitmq错误:org.springframework.amqp.AmqpConnectException: java.net.ConnectException的解决办法

    在集成rabbitmq后,运行项目,报错日志: org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Co ...

  10. springboot 2.1 整合 rabbitmq 踩坑 砰砰砰

    rabbitmq安装 rabbitmq安装 centos 7 简单参数说明 使用rabbitmq 需要新增交换机Exchange,队列Queue(队列中还要设置绑定路由关键字RoutingKey) B ...

最新文章

  1. Cocos2d-x手机游戏开发行业背景分析
  2. 我收集的网上公开的免费电子书
  3. 简易嵌入式管理平台 C 实现
  4. 烂泥:mysql修改本地主机连接
  5. 游戏开发需要具备哪些技术_生鲜小程序需要具备哪些功能板块?生鲜小程序开发...
  6. C语言有三个电阻r1r2r3,[VR虚拟现实]ARM硬件试题库及答案(37页)-原创力文档
  7. C语言关于signal()函数
  8. OpenStack 的部署T版(三)——Glance组件
  9. confirm修改按钮文字_踏入MG动画设计的门,才知道文字动画这么重要……
  10. [LeetCode]高频算法题
  11. centos7安装nginx和php,centos7安装nginx1.10和php7
  12. 基于改进YOLO v3网络的夜间环境柑橘识别方法
  13. echarts 折线图数据太多会导致卡顿_重新定义数据图表,还有比这个更厉害的吗?...
  14. PCB名詞解釋:通孔、盲孔、埋孔(转载)
  15. 2014Esri全球用户大会之ArcGIS Online
  16. 【项目篇- 项目团队部分怎么写、如何作图?(两千字图文总结建议)】创新创业竞赛项目计划书、新苗国创(大创)申报书、挑战杯创业计划竞赛
  17. 步进电机c语言驱动原理,连接PC的步进电机简单驱动电路
  18. 地球上20张最惊人照片!不看将后悔一辈子
  19. Maven POM介绍
  20. P5144 蜈蚣 (线性DP)

热门文章

  1. Hibernate annotation多对多配置
  2. 浅谈HTTP中Get与Post的区别
  3. Adobe推出HTML5动画设计工具Edge
  4. 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...
  5. Windows Phone 7 SDK 7.1 Beta2 发布
  6. 【译】GraphQL vs. REST
  7. 利用yum 安装 lamp环境搭载 cacti监控和memcached数据库
  8. 【百度地图API】如何制作班级地理通讯录?LBS通讯录
  9. ORA-19809: 超出了恢复文件数的限制
  10. 2013-3-10日记