博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring整合rabbitmq
阅读量:6610 次
发布时间:2019-06-24

本文共 3032 字,大约阅读时间需要 10 分钟。

hot3.png

发送者 spring配置文件

消息发送代码

package com.zhu.mq;import org.springframework.amqp.core.AmqpTemplate;import org.springframework.beans.factory.annotation.Autowired;public class RabbitMqSender {	@Autowired	private AmqpTemplate amqpTemplate;	@Autowired	private AmqpTemplate fanoutTemplate;	@Autowired	private AmqpTemplate rabbitTemplate;	/**	 * 点对点	 */	public void sendDataToCrQueue(Object obj) {		amqpTemplate.convertAndSend("queue_one_key", obj);	}	/**	 * 发送 发布--订阅消息	 */	public void sendFanoutMsg(Object obj) {		fanoutTemplate.convertAndSend(obj);	}	/**	 * 主题	 */	public void sendTopicMsg(String topic,Object obj) {		rabbitTemplate.convertAndSend(topic,obj);	}}

发送消息

RabbitMqSender sender = new RabbitMqSender();String str="test1";Object obj = (Object)str;sender.sendDataToCrQueue(obj);sender.sendFanoutMsg(obj);sender.sendTopicMsg("zhu.p1",obj);sender.sendTopicMsg("zhu.p2",obj);

接受者

spring配置文件

监听器代码 direct监听器

package com.zhu.mq;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.amqp.core.Message;import org.springframework.amqp.core.MessageListener;public class DirectListener implements MessageListener {	private static Logger logger = LoggerFactory.getLogger(DirectListener.class);	@Override	public void onMessage(Message message) {		logger.info("Direct queue data:" + new String(message.getBody()));	}}

fanout监听器

package com.zhu.mq;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.amqp.core.Message;import org.springframework.amqp.core.MessageListener;public class FanoutLitener implements MessageListener {	private static Logger logger = LoggerFactory.getLogger(FanoutLitener.class);	@Override	public void onMessage(Message message) {		logger.info("Fanout queue data:" + new String(message.getBody()));	}}

topic监听器

package com.zhu.mq;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.amqp.core.Message;import org.springframework.amqp.core.MessageListener;public class TopicLitener implements MessageListener {	private static Logger logger = LoggerFactory.getLogger(TopicLitener.class);	@Override	public void onMessage(Message message) {		logger.info("Topic queue data:" + new String(message.getBody()));	}}

转载于:https://my.oschina.net/superise/blog/692330

你可能感兴趣的文章
JS动画效果链接汇总
查看>>
父类转为子类涉及到的安全问题
查看>>
网络流,流水线模拟
查看>>
知识点笔记
查看>>
陈云川的OPENLDAP系列
查看>>
django 模型-----自连接
查看>>
P1197 [JSOI2008]星球大战
查看>>
将某个目录下的 文件(字符窜) 只将数字过滤出来
查看>>
urllib模块
查看>>
XML转义字符
查看>>
【vue】vue +element 搭建及开发中项目中,遇到的错误提示
查看>>
微信小程序之简单记账本开发记录(六)
查看>>
死锁和活锁
查看>>
js生成二维码
查看>>
去除input[type=number]的默认样式
查看>>
PowerDeigner 一个很好的画uml 和建模的软件
查看>>
vs2012创建mvc4项目部署iis所遇到的问题
查看>>
jenkins下载
查看>>
卫语句学习
查看>>
【php】对PHPExcel一些简单的理解
查看>>