记录下rabbitmq的简单使用过程

发送消息工具类
发送消息

<?xml version="1.0" encoding="UTF-8"?>

<description>rabbitmq 连接服务配置</description>
<!-- 连接配置 -->
<!-- <rabbit:connection-factory id="mqConnectionFactory" addresses="${mq.addresses}" username="${mq.username}" password="${mq.password}" virtual-host="${mq.vhost}" /> -->
<rabbit:connection-factory id="mqConnectionFactory" addresses="${mq.addresses}" username="${mq.username}" password="${mq.password}" virtual-host="${mq.vhost}" />


<!-- spring template声明 -->
<rabbit:template id="amqpTemplate" exchange="myExchange"
	connection-factory="mqConnectionFactory" message-converter="jsonMessageConverter" />

<!--通过指定下面的admin信息,当前producer中的exchange和queue会在rabbitmq服务器上自动生成 -->
<rabbit:admin connection-factory="mqConnectionFactory" />

<!-- 声明消息队列 -->
<!-- durable:是否持久化,宕机恢复后会重持久化日志恢复消息队列 -->
<!-- exclusive: 仅创建者可以使用的私有队列,断开后自动删除 -->
<!-- auto_delete: 当所有消费客户端连接断开后,是否自动删除队列 -->
<!-- 若已经声明消息队列,并且设置跟以下设置不一致,会报错,必须先去管理中心删除该消息队列,再重新创建消息队列 -->
<rabbit:queue id="myQueue" name="myQueue" durable="true"
	auto-delete="false" exclusive="false" />


<!-- 定义交换机 -->
<rabbit:direct-exchange id="myExchange" name="myExchange"
	durable="true" auto-delete="false">
	<!-- 可以绑定多个消息队列 -->
	<rabbit:bindings>
		<rabbit:binding queue="myQueue" key="myQueueKey" />

	</rabbit:bindings>
</rabbit:direct-exchange>

<!-- 消息对象json转换类 -->
<bean id="jsonMessageConverter"
	class="org.springframework.amqp.support.converter.Jackson2JsonMessageConverter" />

<!-- 定义监听器 acknowledge="manual" 手动ack -->
<rabbit:listener-container
	connection-factory="mqConnectionFactory"  >
	<rabbit:listener queues="myQueue" ref="queueListenter" />
	
</rabbit:listener-container>

<!-- 定义监听队列的处理类 -->
<bean id="queueListenter" class="com.seawin.common.tool.mq.QueueListener" />
<bean id="messageBuilder" class="com.seawin.common.tool.mq.MessageBuilder" />

–监听接收消息的类
public class WechatFreightPushListenter implements ChannelAwareMessageListener{

@Override
public void onMessage(Message message, Channel channel) throws Exception {
	MessageTemplate msgTemplate = null;
	try {
		String body = new String(message.getBody());
		//接收到的内容,后续进行逻辑处理
		System.out.println("body---"+body);
		msgTemplate = JSON.parseObject(body, MessageTemplate.class);
		
	} catch (Exception e) {
		e.printStackTrace();
		
	}
	
}

}

jar包spring-rabbit
至于异常处理这块还在研究学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值