MQ与SpringBoot

package com.rabbitmqspringboot.demo;
import com.DemoApplication;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
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;
@SpringBootTest(classes = DemoApplication.class)
@RunWith(SpringRunner.class)
class DemoApplicationTests {
//注入mq
@Autowired
private RabbitTemplate rabbitTemplate;
//topic模式
@Test
public void testtopic(){
rabbitTemplate.convertAndSend(“topics”,“user.sexy”,“这是user.sexy的消息”);
}
//路由模式
@Test
public void direct(){
rabbitTemplate.convertAndSend(“directs”,“info”,“发送的info的路由key”);
}
//发布订阅 fanout模型
@Test
public void fanout(){
rabbitTemplate.convertAndSend(“logs”,"",“这是fanout模型”);
}
//work模型
@Test
public void testwork(){
for (int i = 0; i <10 ; i++) {
rabbitTemplate.convertAndSend(“work”,“hello workQueue”);
}
}
//hello world模型
@Test
public void test(){
//前3种没有用到交换机的第一个默认是队列名称
rabbitTemplate.convertAndSend(“hello”,“hello world”);
}
}

没有消费者就不会生成


topic
@Component
public class costomer5 {
@RabbitListener(bindings = {
@QueueBinding(
value = @Queue,
exchange = @Exchange(value = “topics”,type = “topic”),
key = {“com.xiaoyu”,“user.*”}
)
})
public void consumerT1(String msg){
System.out.println(“消费者1消费了”+msg);
}

@RabbitListener(bindings = {
        @QueueBinding(
                value = @Queue,
                exchange = @Exchange(value = "topics",type = "topic"),
                key = {"com.#","user.*"}
        )
})
public void consumerT2(String msg){
    System.out.println("消费者2消费了"+msg);
}

@RabbitListener(bindings = {
        @QueueBinding(
                value = @Queue,
                exchange = @Exchange(value = "topics",type = "topic"),
                key = {"com.xiaoyu","*.user.*"}
        )
})
public void consumerT3(String msg){
    System.out.println("消费者3消费了"+msg);
}

}

work
@Component
public class Costomer2 {
//一个消费者
@RabbitListener(queuesToDeclare = @Queue(value = “work”))
public void consume(String msg){
System.out.println(“msg=”+msg);
}

//第二个
@RabbitListener(queuesToDeclare = @Queue(value = "work"))
public void consume2(String msg){
    System.out.println("msg1"+msg);
}

}

hello
@Component
@RabbitListener(queuesToDeclare = @Queue(value = “hello”,durable = “true”,autoDelete = “true”))
public class costomer1 {
@RabbitHandler
public void receive(String msg){
System.out.println(“message=”+msg);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值