rabbitMQ第五种模型 --topic动态路由
生活随笔
收集整理的這篇文章主要介紹了
rabbitMQ第五种模型 --topic动态路由
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
動態(tài)路由就是我們可以通過一定匹配規(guī)則來綁定交換機與通道
*表示一個單詞
#表示一個或者多個單詞
生產(chǎn)者
package com.zuoan.topics;import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.zuoan.utils.RabbitMQUtils;import java.io.IOException;/*** @Description: TODO* @Author: 黃石軍* @CreateTime: 2022/4/10 16:15* @Company:*/ public class Provider {public static void main(String[] args) throws IOException {Connection connection = RabbitMQUtils.getConnection("192.168.188.100");Channel channel = connection.createChannel();//參數(shù)一交換機名稱,參數(shù)二,交換機類型channel.exchangeDeclare("topics","topic");//發(fā)送消息String routingKey = "user.save";channel.basicPublish("topics",routingKey,null,("這是topic發(fā)布的routingKey:["+routingKey+"]發(fā)送的消息").getBytes());//關(guān)閉資源RabbitMQUtils.closeChannelAndConnection(channel,connection);} }消費者1
package com.zuoan.topics;import com.rabbitmq.client.*; import com.zuoan.utils.RabbitMQUtils;import java.io.IOException;/*** @Description: TODO* @Author: 黃石軍* @CreateTime: 2022/4/10 16:37* @Company:*/ public class Consumer1 {public static void main(String[] args) throws IOException {Connection connection = RabbitMQUtils.getConnection("192.168.188.100");Channel channel = connection.createChannel();channel.exchangeDeclare("topics","topic");//創(chuàng)建臨時隊列String queue = channel.queueDeclare().getQueue();//臨時隊列綁定交換機channel.queueBind(queue,"topics","user.*");//消費消息channel.basicConsume(queue,true,new DefaultConsumer(channel){@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {System.out.println("消費者1"+new String(body));}});} }消費者2
package com.zuoan.topics;import com.rabbitmq.client.*; import com.zuoan.utils.RabbitMQUtils;import java.io.IOException;/*** @Description: TODO* @Author: 黃石軍* @CreateTime: 2022/4/10 16:48* @Company:*/ public class Consumer2 {public static void main(String[] args) throws IOException {Connection connection = RabbitMQUtils.getConnection("192.168.188.100");Channel channel = connection.createChannel();channel.exchangeDeclare("topics","topic");String queue = channel.queueDeclare().getQueue();//隊列綁定交換機channel.queueBind(queue,"topics","user.#");//消費消息channel.basicConsume(queue,true,new DefaultConsumer(channel){@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {System.out.println("消費者2"+ new String(body));}});} }工具類在我們博客分類MQ中第一章里
https://blog.csdn.net/weixin_45886609/article/details/124064801
總結(jié)
以上是生活随笔為你收集整理的rabbitMQ第五种模型 --topic动态路由的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java开发私教_笃学私教:7年Java
- 下一篇: 2004年各主要城市人均工资一览表