您的位置:首页 > 编程语言 > Java开发

SpringMVC集成rabbitMQ

2016-07-22 22:33 387 查看
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);
}

}




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: