目录
1.Direct类型交换机
将要实现了是如下内容
1.1 项目依赖以及工具类如前面操作所示
1.2 按目标图示创建两个消费者
public class ReceiveLogsDirect01 {
public static final String EXCHANGE_NAME = "direct_logs";
public static final String QUEUE_NAME = "console";
public static void main(String[] args) throws IOException, TimeoutException {
Channel channel = RabbitMqUtils.getChannel();
//声明一个交换机
channel.exchangeDeclare(EXCHANGE_NAME, BuiltinExchangeType.DIRECT);
channel.queueDeclare(QUEUE_NAME,false,false,true,null);
//多重绑定
channel.queueBind(QUEUE_NAME,EXCHANGE_NAME,"info");
channel.queueBind(QUEUE_NAME,EXCHANGE_NAME,"warning");
DeliverCallback deliverCallback = (consumerTag, message) -> {
System.out.println("01接收到消息:" + new String(message.getBody(),"UTF-8"));
};
channel.basicConsume(QUEUE_NAME,true,deliverCallback,consumerTag -> {
});
}
}
public class ReceiveLogsDirect02 {
public static final String EXCHANGE_NAME = "direct_logs";
public static final String QUEUE_NAME = "disk";
public static void main(String[] args) throws IOException, TimeoutException