美文网首页
SpringBoot整合中间件RabbitMQ(五)

SpringBoot整合中间件RabbitMQ(五)

作者: Invi | 来源:发表于2019-05-06 09:57 被阅读0次

    1.开启注解

    开启基于RabbitMQ的注解

    package com.invi;
    
    import org.springframework.amqp.rabbit.annotation.EnableRabbit;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    //开启基于注解的RabbitMQ
    @EnableRabbit
    @SpringBootApplication
    public class Springboot02AmqpApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(Springboot02AmqpApplication.class, args);
        }
    
    }
    
    

    2.监听程序

    编写监听服务

    package com.invi.service;
    
    import com.invi.bean.Book;
    import org.springframework.amqp.rabbit.annotation.RabbitListener;
    import org.springframework.stereotype.Service;
    
    
    @Service
    public class BookService {
    
        //数组的方式,可以监听多个队列
        @RabbitListener(queues = "invi.news")
        public void receive(Book book) {
            System.out.println("invi.news队列收到消息:" + book.toString());
        }
    }
    
    

    3.发送队列消息

    package com.invi;
    
    import com.invi.bean.Book;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.amqp.core.Message;
    import org.springframework.amqp.rabbit.core.RabbitTemplate;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class Springboot02AmqpApplicationTests {
    
    
        @Autowired
        RabbitTemplate rabbitTemplate;
    
    
        //发送-单播(点对点)
        @Test
        public void testExchangeDirect() {
     
            rabbitTemplate.convertAndSend("exchange.direct", "invi.news", new Book("《挪威森林》", "村上春树"));
        }
    
    
    }
    
    

    运行测试:

    2019-03-05 09:41:13.443  INFO 90011 --- [       Thread-2] o.s.a.r.l.SimpleMessageListenerContainer : Waiting for workers to finish.
    invi.news队列收到消息:Book{name='《挪威森林》', author='村上春树'}
    2019-03-05 09:41:13.474  INFO 90011 --- [       Thread-2] o.s.a.r.l.SimpleMessageListenerContainer : Successfully waited for workers to finish.
    2019-03-05 09:41:13.482  INFO 90011 --- [       Thread-2] o.s.a.r.l.SimpleMessageListenerContainer : Shutdown ignored - container is not active already
    
    
    

    相关文章

      网友评论

          本文标题:SpringBoot整合中间件RabbitMQ(五)

          本文链接:https://www.haomeiwen.com/subject/szgloqtx.html