SpringMVC集成rabbitMQ

Maven引入相关jar
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>3.2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-amqp</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>

spring-mq.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:context="http://www.springframework.org/schema/context"
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/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/rabbit
http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd">
<context:property-placeholder location="classpath:jdbc.properties,classpath:config.properties" />
<bean id="rabbitClientConnectionFactory" class="com.rabbitmq.client.ConnectionFactory">
<property name="host" value="127.0.0.1"/>
<property name="port" value="5672" />
<property name="username" value="guest" />
<property name="password" value="guest" />
<!-- <property name="connectionTimeout" value="10000" /> -->
</bean>
<!-- 连接服务配置 -->
<rabbit:connection-factory id="rabbitConnectionFactory" connection-factory="rabbitClientConnectionFactory"/>
<rabbit:admin connection-factory="rabbitConnectionFactory" />
<!-- queue 队列声明 -->
<rabbit:queue id="jimmy-request-queue" durable="true" auto-delete="false" exclusive="false" name="jimmy-request-queue" />
<!-- exchange queue binging key 绑定 -->
<rabbit:direct-exchange name="jimmy-queue-exchange" durable="true" auto-delete="false" id="jimmy-queue-exchange">
<rabbit:bindings>
<rabbit:binding queue="jimmy-request-queue" key="jimmy-request-queue" />
</rabbit:bindings>
</rabbit:direct-exchange>

<!-- spring template声明 -->
<rabbit:template exchange="jimmy-queue-exchange" id="amqpTemplate" connection-factory="rabbitConnectionFactory" />
<!-- queue litener 观察 监听模式 当有消息到达时会通知监听在对应的队列上的监听对象 -->
<rabbit:listener-container connection-factory="rabbitConnectionFactory" acknowledge="auto" >
<rabbit:listener queues="jimmy-request-queue" ref="foo" method="handleRequestMessage" />
</rabbit:listener-container>

</beans>

生产者
public void thrwosmq(){
amqpTemplate.convertAndSend("jimmy-request-queue","ddd");
System.out.println("asdf");
}
消费者

public class Foo {  
public void handleRequestMessage(String aaa) {
System.out.println(aaa);
}

}




 
原文地址:https://www.cnblogs.com/jimmy-muyuan/p/5697456.html