现在的位置: 首页 > 编程语言 > 正文

Springweb集成rabbitmq代码实例

2020年02月13日 编程语言 ⁄ 共 2772字 ⁄ 字号 评论关闭

这篇文章主要介绍了Spring web集成rabbitmq代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

引入java包:

本项目中仅引入了四个java包:amqp-client-5.7.3.jar,spring-rabbit-2.2.2.RELEASE.jar,spring-retry-1.2.4.RELEASE.jar,spring-amqp-2.2.2.RELEASE.jar

spring-rabbitmq.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit.xsd"> <!--配置connection-factory,指定连接rabbit server参数 --> <rabbit:connection-factory id="connectionFactory" username="guest" password="guest" host="localhost" port="5672" /> <!--定义rabbit template用于数据的发送 --> <rabbit:template id="amqpTemplate" connection-factory="connectionFactory" exchange="exchangeTest" /> <!--通过指定下面的admin信息,当前producer中的exchange和queue会在rabbitmq服务器上自动生成 --> <rabbit:admin connection-factory="connectionFactory" /> <!--定义queue --> <rabbit:queue name="queueTest" durable="true" auto-delete="false" exclusive="false" /> <!-- 定义direct exchange,绑定queueTest --> <rabbit:direct-exchange name="exchangeTest" durable="true" auto-delete="false"> <rabbit:bindings> <rabbit:binding queue="queueTest" key="queueTestKey"></rabbit:binding> </rabbit:bindings> </rabbit:direct-exchange> <!-- 消息接收者 --> <bean id="messageReceiver" class="club.codeapes.web.core.rabbitmq.RabbitMqMessageConsumer"></bean> <!-- queue litener 观察 监听模式 当有消息到达时会通知监听在对应的队列上的监听对象--> <rabbit:listener-container connection-factory="connectionFactory"> <rabbit:listener queues="queueTest" ref="messageReceiver"/> </rabbit:listener-container></beans>

spring中需要引入这个xml, 主要在总spring.xml。或者web.xml中需要引入下。

RabbitMqMessageConsumer

package club.codeapes.web.core.rabbitmq;import club.codeapes.common.date.DateUtil;import com.alibaba.fastjson.JSON;import org.springframework.amqp.core.Message;import org.springframework.amqp.core.MessageListener;public class RabbitMqMessageConsumer implements MessageListener { @Override public void onMessage(Message message) { System.out.println("消费信息," + DateUtil.getNow("yyyy-MM-dd HH:mm:ss") + "---->" + message); }}

RabbitMqMessageProducer:

package club.codeapes.web.core.rabbitmq;import org.springframework.amqp.core.AmqpTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;@Repositorypublic class RabbitMqMessageProducer{ @Autowired private AmqpTemplate amqpTemplate; public void sendMessage(Object message) { System.out.println("to send message:" + message); amqpTemplate.convertAndSend("queueTestKey", message); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: Spring web集成rabbitmq代码实例

以上就上有关Springweb集成rabbitmq代码实例的相关介绍,要了解更多Spring,web,集成,rabbitmq内容请登录学步园。

抱歉!评论已关闭.