rabbitmq
来源:互联网 发布:ubuntu安装apache2 php 编辑:程序博客网 时间:2024/06/16 13:16
Springboot 使用RabbitMQ
使用RabbitMQ,发送消息时并不是直接发送到Queue中,而是发送到exchange中然后依据发送时的routing key
和绑定到exchange上的binding key
将消息路由到Queue中。
queue&exchange&bingding key
//发送消息public void sendMessage() { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String json = format.format(new Date()); rabbitTemplate.convertAndSend("exchange.test"/*exchange*/,"test.message"/*routing key*/, json);}//监听MQ队列@RabbitListener(queues = "test.queue")public void process1(@Payload String message) { LOG.info("test.queue message: {}", message);}@RabbitListener(queues = "queue.message")public void process2(@Payload String message) { LOG.info("queue.message message: {}", message);}
RabbitTemplate
默认使用SimpleMessageConverter.createMessage()
将消息Object
转换成Message
对象。
对于String
,调用getBytes()
方法将String
转换为字节数据;对于Serializable
将对象序列化为字节数组。
Virtual Host
每个virtual host本质上都是一个RabbitMQ Server,拥有它自己的queue,exchagne,和bings rule等等。这保证了你可以在多个不同的application中使用RabbitMQ。
Exchange
生产者将信息发送到Exchange中,然后Exchange根据
Routing Key
和Bingding Key
将消息分发到不同的Queue中Exchange 类型
Fanout
fanout会把发送到该exchange中的消息转发到所有与它绑定的Queue中。
Direct
direct会把发送到该exchange中的消息路由到
routing key
和binding key
完全匹配的Queue中。Topic
topic会将消息路由到
routing key
和bingding key
相匹配的Queue中。
0 0
- rabbitmq
- RabbitMQ
- RabbitMQ
- RabbitMQ
- rabbitmq
- RabbitMQ
- RabbitMQ
- rabbitmq
- RabbitMQ
- rabbitmq
- RabbitMQ
- rabbitmq
- RabbitMQ
- rabbitmq
- RabbitMQ
- RabbitMQ
- RabbitMQ
- rabbitmq
- Jquery中的DOM操作 (四.复制和替换节点)
- Cocos2d-JS中的简易MVC框架指南(一)
- 19.Itrerable,Iterator迭代器的设计
- URAL2065:Different Sums(找规律)
- Gradle for Android
- rabbitmq
- leetcode-Evaluate Reverse Polish Notation
- php+mysql实现的无限极分类
- css 元素居中
- str convert to int
- 云计算Openstack-Liberty版
- 前端总结·基础篇·CSS(一)布局
- 第三届蓝桥杯【省赛试题2】古堡算式
- Codeforces 552C