如何编写Springweb集成rabbitmq代码

本篇文章为大家展示了如何编写Springweb集成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);  }}

上述内容就是如何编写Springweb集成rabbitmq代码,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。