1.搭建web环境(本人采用maven构建工具)仅列出rabbit jar包pom相关配置文件:如下  

<dependency>

     <groupId>org.springframework.amqp</groupId>

        <artifactId>spring-rabbit</artifactId>

         <version>1.2.2.RELEASE</version>

</dependency>

2.spring文件配置

        <!-- 获取mq的连接工厂 -->

     <bean id="connectionFactory"

     class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory"

     p:username="guest" p:password="guest" p:port="5672">

     <constructor-arg value="localhost" />

     </bean>

<!-- 创建rabbitTemplate 消息模板类 -->

<bean id="rabbitTemplate"              class="org.springframework.amqp.rabbit.core.RabbitTemplate">

<constructor-arg ref="connectionFactory"></constructor-arg>

</bean>


<!-- 创建消息转换器为SimpleMessageConverter -->

    <bean id="serializerMessageConverter"  class="org.springframework.amqp.support.converter.SimpleMessageConverter"></bean>

     <!-- 设置持久化的队列 -->

    <bean id="queue"  class="org.springframework.amqp.core.Queue">

        <constructor-arg index="0" value="testQueue"></constructor-arg>

        <constructor-arg index="1" value="true"></constructor-arg>

        <constructor-arg index="2" value="false"></constructor-arg>

        <constructor-arg index="3" value="false"></constructor-arg>

    </bean>

     <!--创建交换器的类型 并绑定队列-->

    <rabbit:topic-exchange name="testExchange" >

<rabbit:bindings>

<rabbit:binding queue="queue" pattern="testQueue.*"/>

<rabbit:binding queue="queue1" pattern="testQueue.#"/>

</rabbit:bindings>

</rabbit:topic-exchange>


    <!-- 用于接收消息的处理类 -->

    <bean id="rmqConsumer"   class="com.mq.newway.MyRmqConsumer"></bean>


    <bean id="messageListenerAdapter"  class="org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter">

        <constructor-arg ref="rmqConsumer" />

        <property name="defaultListenerMethod" value="fetchRmqProducerMessage"></property>

        <property name="messageConverter" ref="serializerMessageConverter"></property>

    </bean>


    <!-- 监听队列queues可以传多个-->

    <bean id="listenerContainer"  class="org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer">

        <property name="queues" ref="queue"></property>

        <property name="connectionFactory" ref="connectionFactory"></property>

        <property name="messageListener" ref="messageListenerAdapter"></property>

    </bean>


 

 3.发送消息

    rabbitTemplate.convertAndSend("testExchange", "testQueue", msg);

 4.监听消息的MyRmqConsumer实体中fetchRmqProducerMessage方法

         public void fetchRmqProducerMessage(Object object){

       RabbitMessage rabbitMessage=(RabbitMessage) object;

       System.out.println(rabbitMessage);

 }