Consumer.java 1019 B

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