Spring整合RabbitMQ

一、步骤

生产者

① 创建生产者工程
② 添加依赖
③ 配置整合
④ 编写代码发送消息

消费者

① 创建消费者工程
② 添加依赖
③ 配置整合
④ 编写消息监听器

二、代码

生产者工程

Spring整合RabbitMQ_第1张图片

1.在生产者工程和消费者工程中都导入如下依赖


    
        org.springframework
        spring-context
        5.1.7.RELEASE
    
    
        org.springframework.amqp
        spring-rabbit
        2.1.8.RELEASE
    
    
        junit
        junit
        4.12
    
    
        org.springframework
        spring-test
        5.1.7.RELEASE
    


    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.8.0
            
                1.8
                1.8
            
        
    

 2.生产者和消费者 导入配置文件   rabbitmq.properties

rabbitmq.host=43.143.246.208
rabbitmq.port=5672
rabbitmq.username=root
rabbitmq.password=root
rabbitmq.virtual-host=/itcast

3.生产者核心配置文件  spring-rabbitmq-producer.xml



    
    

    
    
    
    

    
    

    
    
    

    
    

    
    
        
            
            
        
    

    
    
    
    
    
    
    

    
        
            
            
            
        
    

    
    

4.测试类 ProducerTest

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring-rabbitmq-producer.xml")
public class ProducerTest {
    //1.注入 RabbitTemplate
    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Test
    public void testHelloWorld(){
        //2.发送消息
        rabbitTemplate.convertAndSend("spring_queue","hello world spring....");
    }
    /**
     * 发送fanout消息
     */
    @Test
    public void testFanout(){
        //2.发送消息

        rabbitTemplate.convertAndSend("spring_fanout_exchange","","spring fanout....");
    }


    /**
     * 发送topic消息
     */
    @Test
    public void testTopic(){
        //2.发送消息

        rabbitTemplate.convertAndSend("spring_topic_exchange","root.hehe.haha","spring topic....");
    }
}

5.运行结果 

Spring整合RabbitMQ_第2张图片

 消费者工程

1、2同上述1、2

3、消费者核心配置文件



    
    

    
    
    
    






    
        
        





    

4.类 SpringQueueListener

public class SpringQueueListener implements MessageListener {
    @Override
    public void onMessage(Message message) {
        //打印消息
        System.out.println(new String(message.getBody()));
    }
}

5.测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring-rabbitmq-comsumer.xml")
public class ConsumerTest {
    @Test
    public void test1(){
        boolean flag = true;
        while (true){

        }
    }

}

Spring整合RabbitMQ_第3张图片

你可能感兴趣的:(rabbitmq,java-rabbitmq,spring,rabbitmq)