Spring web集成rabbitmq代码实例
程序员文章站
2022-07-02 09:21:59
这篇文章主要介绍了spring web集成rabbitmq代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
引入java包:...
这篇文章主要介绍了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; @repository public class rabbitmqmessageproducer{ @autowired private amqptemplate amqptemplate; public void sendmessage(object message) { system.out.println("to send message:" + message); amqptemplate.convertandsend("queuetestkey", message); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: ES6学习笔记之新增数据类型实例解析
推荐阅读
-
使用Spring Boot集成FastDFS的示例代码
-
Spring启动后获取所有拥有特定注解的Bean实例代码
-
spring aop action中验证用户登录状态的实例代码
-
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
-
Angular+Bootstrap+Spring Boot实现分页功能实例代码
-
java远程连接调用Rabbitmq的实例代码
-
C#实现rabbitmq 延迟队列功能实例代码
-
Spring AOP 基于注解详解及实例代码
-
JSP 中Spring的Resource类读写中文Properties实例代码
-
利用spring的拦截器自定义缓存的实现实例代码