xuxiaohui9216 发表于 2017-7-2 13:20:18

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

}
页: [1]
查看完整版本: SpringMVC集成rabbitMQ