DeadLetter.java 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. package com.sf.deadletter;
  2. import com.rabbitmq.client.Channel;
  3. import com.sf.util.MqUtils;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. import java.util.Scanner;
  7. public class DeadLetter {
  8. public static void main(String[] args) throws Exception {
  9. Channel channel = MqUtils.getChannel();
  10. channel.exchangeDeclare("exchange.dlx", "direct", true, false, null);
  11. channel.queueDeclare("queue.dlx", true, false, false, null);
  12. channel.queueBind("queue.dlx", "exchange.dlx", "dlx-routing-key");
  13. Map<String, Object> param = new HashMap<String, Object>();
  14. param.put("x-dead-letter-exchange", "exchange.dlx");
  15. param.put("x-dead-letter-routing-key", "dlx-routing-key");
  16. channel.exchangeDeclare("exchange.normal2", "direct");
  17. channel.queueDeclare("queue.normal2", false, false, false, param);
  18. channel.queueBind("queue.normal2", "exchange.normal2", "zhangsan");
  19. Scanner scanner = new Scanner(System.in);
  20. System.out.println("请输入消息:");
  21. while (scanner.hasNext()) {
  22. String message = scanner.next();
  23. System.out.println(message);
  24. channel.basicPublish("exchange.normal2", "dlx-routing-key", null, message.getBytes());
  25. }
  26. }
  27. }