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

1.新建一个Spring Boot工程,命名为:“rabbitmq-hello”。
在pom.xml中引入如下依赖内容,其中spring-boot-starter-amqp用于支持RabbitMQ。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
2.在application.properties中配置关于RabbitMQ的连接和用户信息,用户可以回到上面的安装内容,在管理页面中创建用户。
spring.application.name=rabbitmq-hello spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=admin spring.rabbitmq.password=123456
3.创建消息生产者Sender。通过注入AmqpTemplate接口的实例来实现消息的发送,AmqpTemplate接口定义了一套针对AMQP协议的基础操作。
在Spring Boot中会根据配置来注入其具体实现。在该生产者,我们会产生一个字符串,并发送到名为hello的队列中。
@Component
public class Sender {
@Autowired
private AmqpTemplate rabbitTemplate;
public void send() {
String context = "hello " + new Date();
System.out.println("Sender : " + context);
this.rabbitTemplate.convertAndSend("hello", context);
}
}
4.创建消息消费者Receiver。
通过@RabbitListener注解定义该类对hello队列的监听,并用@RabbitHandler注解来指定对消息的处理方法。所以,该消费者实现了对hello队列的消费,消费操作为输出消息的字符串内容。
@Component
@RabbitListener(queues = "hello")
public class Receiver {
@RabbitHandler
public void process(String hello) {
System.out.println("Receiver : " + hello);
}
}
5.创建RabbitMQ的配置类RabbitConfig,用来配置队列、交换器、路由等高级信息。这里我们以入门为主,先以最小化的配置来定义,以完成一个基本的生产和消费过程。
@Configuration
public class RabbitConfig {
@Bean
public Queue helloQueue() {
return new Queue("hello");
}
}
6.创建应用主类:
@SpringBootApplication
public class HelloApplication {
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
7.创建单元测试类,用来调用消息生产:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = HelloApplication.class)
public class HelloApplicationTests {
@Autowired
private Sender sender;
@Test
public void hello() throws Exception {
sender.send();
}
}
8.启动应用主类,从控制台中,我们看到如下内容,程序创建了一个访问127.0.0.1:5672中admin的连接。
o.s.a.r.c.CachingConnectionFactory : Created new connection: SimpleConnection@29836d32 [delegate=amqp://admin@127.0.0.1:5672/]
同时,我们通过RabbitMQ的控制面板,可以看到Connection和Channels中包含当前连接的条目。
9.运行单元测试类,我们可以看到控制台中输出下面的内容,消息被发送到了RabbitMQ Server的hello队列中。
Sender : hello Sun Sep 25 11:06:11 CST 2016
10.切换到应用主类的控制台,我们可以看到类似如下输出,消费者对hello队列的监听程序执行了,并输出了接受到的消息信息。
Receiver : hello Sun Sep 25 11:06:11 CST 2016
通过上面的示例,我们在Spring Boot应用中引入spring-boot-starter-amqp模块,进行简单配置就完成了对RabbitMQ的消息生产和消费的开发内容。
需要注意的地方,Direct模式相当于一对一模式,一个消息被发送者发送后,会被转发到一个绑定的消息队列中,然后被一个接收者接收!
实际上RabbitMQ还可以支持发送对象:当然由于涉及到序列化和反序列化,该对象要实现Serilizable接口.HelloSender做出如下改写:
public void send() {
User user=new User(); //实现Serializable接口
user.setUsername("hlhdidi");
user.setPassword("123");
template.convertAndSend("queue",user);
}
HelloReceiver做出如下改写:
@RabbitListener(queues="queue") //监听器监听指定的Queue
public void process1(User user) { //用User作为参数
System.out.println("Receive1:"+user);
}
以上所述是小编给大家介绍的spring boot整合RabbitMQ(Direct模式),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# springboot
# rabbitmq
# springboot X-Accel-Redirect 大文件下载实现
# springboot如何重定向携带数据 RedirectAttributes
# springboot 重定向方式(redirect前缀)
# 基于springboot redirect重定向路径问题总结
# springboot 如何重定向redirect 并隐藏参数
# C#使用RabbitMq队列(Sample
# Work
# Fanout
# Direct等模式的简单使用)
# rabbitmq使用springboot实现direct模式(最新推荐)
# 可以看到
# 小编
# 单元测试
# 序列化
# 还可以
# 在此
# 给大家
# 涉及到
# 用户可以
# 来实现
# 命名为
# 所述
# 绑定
# 需要注意
# 给我留言
# 中会
# 感谢大家
# 切换到
# 新建一个
# 先以
相关文章:
建站之星如何一键生成手机站?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
常州企业建站如何选择最佳模板?
建站之星伪静态规则如何设置?
建站之星如何实现PC+手机+微信网站五合一建站?
香港服务器选型指南:免备案配置与高效建站方案解析
制作网站的公司有哪些,做一个公司网站要多少钱?
如何用PHP工具快速搭建高效网站?
如何用美橙互联一键搭建多站合一网站?
建站之星×万网:智能建站系统+自助建站平台一键生成
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
宝塔Windows建站如何避免显示默认IIS页面?
C#如何使用XPathNavigator高效查询XML
建站之星如何快速生成多端适配网站?
Swift开发中switch语句值绑定模式
如何在万网ECS上快速搭建专属网站?
公众号网站制作网页,微信公众号怎么制作?
如何通过宝塔面板实现本地网站访问?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
建站之星后台密码遗忘或太弱?如何重置与强化?
如何在云主机上快速搭建网站?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
建站与域名管理如何高效结合?
如何选择高效响应式自助建站源码系统?
建站之星3.0如何解决常见操作问题?
如何在IIS中新建站点并配置端口与IP地址?
建设网站制作价格,怎样建立自己的公司网站?
如何做网站制作流程,*游戏网站怎么搭建?
如何打造高效商业网站?建站目的决定转化率
如何在服务器上三步完成建站并提升流量?
如何通过虚拟机搭建网站?详细步骤解析
C++如何使用std::optional?(处理可选值)
已有域名和空间如何搭建网站?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
,购物网站怎么盈利呢?
股票网站制作软件,网上股票怎么开户?
如何通过主机屋免费建站教程十分钟搭建网站?
如何在VPS电脑上快速搭建网站?
如何在阿里云购买域名并搭建网站?
制作企业网站建设方案,怎样建设一个公司网站?
建站之星各版本价格是多少?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
网站制作员失业,怎样查看自己网站的注册者?
*请认真填写需求信息,我们会在24小时内与您取得联系。