spring整合rabbitmq

                                                生产者

1、导入依赖

       

            org.springframework

            spring-context

            5.2.5.RELEASE

       

       

            org.springframework.amqp

            spring-rabbit

            2.1.8.RELEASE

       

       

            junit

            junit

            4.12

       

       

            org.springframework

            spring-test

            5.2.5.RELEASE

       

   

   

       

           

                org.apache.maven.plugins

                maven-compiler-plugin

                3.8.0

               

                    1.8

                    1.8

               

           

       

   

2、编写配置文件


      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.xsd">

   

   

   

   

                              host="${rabbitmq.host}" port="${rabbitmq.port}"

                              username="${rabbitmq.username}" password="${rabbitmq.password}"

                              virtual-host="${rabbitmq.virtual-host}" />

 

   

   

   

   

   

   

   

   

   

       

           

           

       

   

   

   

   

   

   

       

           

           

           

       

   

   

   


3、发送消息

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations = "classpath:spring-rabbitmq-producer.xml")

public class ProducerTest {

    @Autowired

    private RabbitTemplate rabbitTemplate;

    @Test

    public  void  test00(){

        System.out.println(rabbitTemplate);

    }

    @Test

    public  void  test01(){

        rabbitTemplate.convertAndSend("spring_queue","hello spring rabbit".getBytes());

    }

    /*发送fanout消息*/

    @Test

    public  void test02(){

        rabbitTemplate.convertAndSend("spring_fanout_exchange","","hello spring rabbit[fanout]");

    }

    /*发送topic消息*/

    @Test

    public  void test03(){

        rabbitTemplate.convertAndSend("spring_topics_change","item.delete.id","hello spring rabbit[topic]");

    }



                                                接收者

1、导入依赖(与生产者相同)

2、编写监听器,监听队列中的消息

其余4个listner与上面两个相同.

3、编写配置文件

4、接收消息

预期结果:fanout的两个队列均能收到消息,topic的3个队列只有item.#能收到消息

实际结果:

你可能感兴趣的:(spring整合rabbitmq)