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);
}

}




 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM