RabbitMQ初步学*和使用

发布于:2021-07-29 08:04:39

前提:使用Devtools容器化技术的

--查看
docker images
-- 启动
systemctl start docker

-- rabbitmq
docker run -di --name=tensquare_rabbitmq -p 5671:5617 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management

-- 查看容器
docker ps -n 5
--关闭
docker stop
--启动
docker start

查看链接

http://192.168.231.129:15672/#/


依赖



org.springframework.boot
spring-boot-starter-amqp




server:
port: 8003
spring:
rabbitmq:
host: 192.168.231.129

?



Durability:是否做持久化 Durable(持久) transient(临时)

什么是Direct模式

任何发送到Direct Exchange的消息都会被转发到RouteKey中指定的Queue。

什么是分列(Fanout)模式

任何发送到Fanout Exchange的消息都会被转发到与该Exchange绑定(Binding)的所有

什么是主题模式


?


此类交换器使得来自不同的源头的消息可以到达一个对列,其实说的更明白一点就是模



@RunWith(SpringRunner.class)
@SpringBootTest(classes = RabbitApplication.class)
public class ProductTest {

@Autowired
private RabbitTemplate rabbitTemplate;

@Test
public void sendMsg1(){
rabbitTemplate.convertAndSend("zhijie", "直接模式测试");
}

/**
* 分裂模式
*/
@Test
public void sendMsg2(){
rabbitTemplate.convertAndSend("dufu","","分裂模式测试");
}


/**
* 主题模式
*/
@Test
public void sendMsg3(){
rabbitTemplate.convertAndSend("libai","libai1","主题模式测试");
}
}

?


测试

1 //直接
2 @Component
3 @RabbitListener(queues = "zhijie")
4 public class Customer1 {
5 @RabbitHandler
6 public void getMsg(String msg){
7 System.out.println("itcast"+msg);
8 }
9 }
10
11 //分裂
12 @Component
13 @RabbitListener(queues = "dufu")
14 public class Customer2 {
15 @RabbitHandler
16 public void getMsg(String msg){
17 System.out.println("itheima"+msg);
18 }
19 }
20
21 //主题
22 @Component
23 @RabbitListener(queues = "laibai")
24 public class Customer3 {
25 @RabbitHandler
26 public void getMsg(String msg){
27 System.out.println("kudingyu"+msg);
28 }
29 }

?



转载于:https://www.cnblogs.com/liushisaonian/p/11362379.html






相关资源:RabbitMQ.xmind

相关推荐

最新更新

猜你喜欢