package com.sf.exchange.fanout; import com.rabbitmq.client.Channel; import com.rabbitmq.client.DeliverCallback; import com.sf.util.RabbitMqUtils; public class Consumer { private static final String ExchangeName = "fanoutExchange"; public static void main(String[] args) throws Exception { Channel channel = RabbitMqUtils.getChannel(); // 因为要使用多个队列 这里使用临时队列 名字是随机的 // 所谓临时 是在使用结束后自动删除的队列 String queueName = channel.queueDeclare().getQueue(); System.out.println(queueName); // 将队列名字和交换机名字绑定 路由的key为空 channel.queueBind(queueName, ExchangeName, ""); DeliverCallback deliverCallback = (consumerTag, delivery) -> { String message = new String(delivery.getBody(), "UTF-8"); System.out.println(message); }; channel.basicConsume(queueName, true, deliverCallback, consumerTag -> {}); } }