单页营销型网站,蜘蛛云建网站怎样,返利网站建设服务,惠阳区规划建设局网站接上文 RabbitMQ-发布订阅模式和路由模式
1 主题模式 #通配符 代表0个或多个。*通配符 代表 1个或多个 进行测试#xff0c;修改配置文件
Configuration
public class RabbitConfiguration {Bean(topicExchange) //这里使用预置的Topic类型交换机public Exchan…接上文 RabbitMQ-发布订阅模式和路由模式
1 主题模式 #通配符 代表0个或多个。*通配符 代表 1个或多个 进行测试修改配置文件
Configuration
public class RabbitConfiguration {Bean(topicExchange) //这里使用预置的Topic类型交换机public Exchange exchange(){return ExchangeBuilder.topicExchange(amq.topic).build();}Bean(yydsQueue)public Queue queue(){return QueueBuilder.nonDurable(yyds).build();}Bean(binding)public Binding binding2(Qualifier(topicExchange) Exchange exchange,Qualifier(yydsQueue) Queue queue){return BindingBuilder.bind(queue).to(exchange).with(*.test.*).noargs();}
}去掉yyds1yyds2的绑定关系 启动服务进入yyds队列详情 进入交换机详情发送消息 除了默认主题交换机还有叫做amq.rabbitmq.trace的交换机它也是topic类型的。用来帮助我们记录和追踪生产者和消费者使用消息队列的交换机它是一个内部交换机。 使用amq.rabbitmq.trace交换机 首先创建一个消息队列用于接收记录 由于是使用docker安装的rabbitmq需要先通过docker命令进入容器内部 docker exec -it 容器id /bin/bash
docker exec -it fa7e07e3ae6366a86a6e5310db56c2414c5dff7795cfeb2c5f22c2c5c39ec5e1 /bin/bash然后再控制台将虚拟主机/test的追踪功能开启 rabbitmqctl trace_on -p /test开启后将队列trace绑定到 amq.rabbitmq.trace 交换机上 由于发送到此交换机上的 routingkey 为routing key为 publish.交换机名称 和 deliver,队列名称分别对应生产者投递到交换机的消息和消费者从队列上获取的消息因此这里使用 # 通配符进行绑定。 进行测试通过amq.topic向yyds队列发送消息 发送之后查看trace队列的消息发现两条消息 取出trace的消息通过追踪可以得知消息发送的交换机、routingKey、用户等信息。包括信息本身。 同样的消费者在取出数据也有就记录。