游客发表

RabbitMQ 死信机制真的可以作为延时任务这个场景的解决方案吗?

发帖时间:2025-11-05 04:50:35

RabbitMQ 死信机制真的可以作为延时任务这个场景的解决方案吗?
复制@Configuration`  public class RabbitBindConfig {`  ublic final static String SKYPYB_ORDINARY_EXCHANGE = "skypyb-ordinary-exchange";`  ublic final static String SKYPYB_DEAD_EXCHANGE = "skypyb-dead-exchange";`  ublic final static String SKYPYB_ORDINARY_QUEUE_1 = "skypyb-ordinary-queue";`  public final static String SKYPYB_DEAD_QUEUE = "skypyb-dead-queue";`  public final static String SKYPYB_ORDINARY_KEY = "skypyb.key.ordinary.one";`  public final static String SKYPYB_DEAD_KEY = "skypyb.key.dead";`  @Bean`  public DirectExchange ordinaryExchange() {`  return new DirectExchange(SKYPYB_ORDINARY_EXCHANGE,死信时任 false, true);` }`  @Bean`  public DirectExchange deadExchange() {`  return new DirectExchange(SKYPYB_DEAD_EXCHANGE, false, true);` }`  @Bean`  public Queue ordinaryQueue() {`  Map arguments = new HashMap<>();`  //TTL 5s`  arguments.put("x-message-ttl", 1000 * 5);`  // 绑定死信队列和死信交换机`  arguments.put("x-dead-letter-exchange", SKYPYB_DEAD_EXCHANGE);`  arguments.put("x-dead-letter-routing-key", SKYPYB_DEAD_KEY);`  return new Queue(SKYPYB_ORDINARY_QUEUE_1, false, false, true, arguments);` }`  @Bean`  public Queue deadQueue() {`  return new Queue(SKYPYB_DEAD_QUEUE, false, false, true);` }`  @Bean`  public Binding bindingOrdinaryExchangeAndQueue() {`  return BindingBuilder.bind(ordinaryQueue()).to(ordinaryExchange()).with(SKYPYB_ORDINARY_KEY);` }`  @Bean`  public Binding bindingDeadExchangeAndQueue() {`  return BindingBuilder.bind(deadQueue()).to(deadExchange()).with(SKYPYB_DEAD_KEY);` }`  }`  1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.

    热门排行

    友情链接