SpringBoot整合RabbitMQ五种常用模型

SpringBoot整合RabbitMQ五种常用模型
1.SpringBoot整合RabbitMQ使用
 
1.引入依赖:
 
        <!--引入与rabbitmq集成的依赖-->
 
        <dependency>
 
            <groupId>org.springframework.boot</groupId>
 
            <artifactId>spring-boot-starter-amqp</artifactId>
 
        </dependency>
 
2.做配置 :application.yml
 
spring:
 
  application:
 
    name: rabbitmq-springboot
 
  rabbitmq:
 
    host: 192.168.231.141
 
    port: 5672
 
    username: ems
 
    password: 123456
 
    virtual-host: /ems
 
3.hello world
 
@SpringBootTest(classes = RabbitmqSpringbootApplication.class)
 
@RunWith(SpringRunner.class)
 
@ComponentScan("com.liziyi")
 
// @EnableRabbit启用@RabbitListener
 
@EnableRabbit
 
public class TestRabbitMQ {
 
    // 注入rabbitTemplate
 
    @Autowired
 
    private RabbitTemplate rabbitTemplate;
 
    // hello world
 
    @Test
 
    public void test() {
 
        rabbitTemplate.convertAndSend("hello","hello world");
 
    }
 
}
 
// 被工厂扫描道
 
@Component
 
// 消费者(声明队列)
 
@RabbitListener(queuesToDeclare = @Queue("hello"))
 
public class HelloCustomer {
 
    // 代表通过下面方法取消息
 
    @RabbitHandler
 
    public void receivel(String message) {
 
        System.out.println("message = " + message);
 
    }
 
}
 
但是最后执行了。在网页上没有见到新建的队列
 
4.work
 
@SpringBootTest(classes = RabbitmqSpringbootApplication.class)
 
@RunWith(SpringRunner.class)
 
@ComponentScan("com.liziyi")
 
// @EnableRabbit启用@RabbitListener
 
@EnableRabbit
 
public class TestRabbitMQ {
 
    // 注入rabbitTemplate
 
    @Autowired
 
    private RabbitTemplate rabbitTemplate;
 
    // work
 
    @Test
 
    public void testWork() {
 
        for (int i = 0; i < 10; i++) {
 
            rabbitTemplate.convertAndSend("work","work模型"+i);
 
        }
 
    }
 
}
 
@Component
 
public class WorkCustomer {
 
    @RabbitListener(queuesToDeclare = @Queue("work"))
 
    public void receivel(String message) {
 
        System.out.println("message1 =" +message);
 
    }
 
    @RabbitListener(queuesToDeclare = @Queue("work"))
 
    public void receivel2(String message) {
 
        System.out.println("message2 =" +message);
 
    }
 
}
 
5.fanout
 
@SpringBootTest(classes = RabbitmqSpringbootApplication.class)
 
@RunWith(SpringRunner.class)
 
@ComponentScan("com.liziyi")
 
// @EnableRabbit启用@RabbitListener
 
@EnableRabbit
 
public class TestRabbitMQ {
 
    // 注入rabbitTemplate
 
    @Resource
 
    private RabbitTemplate rabbitTemplate;
 
    // fanout 广播
 
    @Test
 
    public void testFanout() {
 
        rabbitTemplate.convertAndSend("logs","","fanout模型");
 
    }

推荐阅读

    lol常用设置|lol有用的设置

    lol常用设置|lol有用的设置,,lol常用设置如何设置英雄联盟手游萊垍頭條在英雄联盟手游中,想要设置:萊垍頭條1.萊垍頭條首先需要进入游戏,萊垍

    excel常用函数都有哪些?

    excel常用函数都有哪些?,函数,哪些,常用,1、SUM函数:SUM函数的作用是求和。函数公式为=sum()例如:统计一个单元格区域:=sum(A1:A10)  统计多个

    fcpx重做快捷键|fcpx常用快捷键

    fcpx重做快捷键|fcpx常用快捷键,,1. fcpx常用快捷键command+T,fcpx 叠化转场2. FCPX快捷键有个快捷键苹果键加上箭头加R就是调整速度的3. f

    ps各种快捷键|PS快捷键大全常用

    ps各种快捷键|PS快捷键大全常用,,PS快捷键大全常用工具类快捷键:移动工具:V套索工具:L(按住shift增加选区,按住ALT减少选区)魔棒工具:W吸管工具:I(

    postgresql的ALTER常用操作

    postgresql的ALTER常用操作,字段,数据类型,postgresql版本:psql (9.3.4)1、增加一列ALTER TABLE table_name ADD column_name datatype;

    做模型电脑|电脑上做模型的软件

    做模型电脑|电脑上做模型的软件,,电脑上做模型的软件建模软件 中文名 ;sketchup渲染软件 主要用在建筑方案中:对建筑造型的推敲 现在G

    电脑桌规格型号|常用电脑桌尺寸

    电脑桌规格型号|常用电脑桌尺寸,,常用电脑桌尺寸问:台式电脑桌最合适宽度?答: 台式电脑桌最合适宽度,现在的显示器都是液晶的不占地方,所以