| | |
| | | params.put("x-dead-letter-exchange", EXCHANGE_DELAY); |
| | | // x-dead-letter-routing-key 声明了这些死信在转发时携带的 routing-key 名称。 |
| | | params.put("x-dead-letter-routing-key", ROUTING_KEY_DELAY); |
| | | params.put("x-message-ttl", 6000); |
| | | // params.put("x-message-ttl", 6000); |
| | | return new Queue(QUEUE_DELAY, true, false, false, params); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | @RabbitListener(queues = RabbitMqConfig.QUEUE_DELAY) |
| | | // @RabbitListener(queues = RabbitMqConfig.QUEUE_MARKET_BUSSINESS) |
| | | public void delayOrder(String content) { |
| | | log.info("--{}-->{}", new Date(), content); |
| | | } |
| | |
| | | public void sendDelayOrderMsg(String content) { |
| | | log.info("-----{}", new Date()); |
| | | CorrelationData correlationData = new CorrelationData(IdUtil.simpleUUID()); |
| | | amqpTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_DELAY, RabbitMqConfig.ROUTING_KEY_DELAY, content, new MessagePostProcessor() { |
| | | @Override |
| | | public Message postProcessMessage(Message message) throws AmqpException { |
| | | //设置消息持久化 |
| | | message.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT); |
| | | message.getMessageProperties().setHeader("x-delay", 6000);//设置延时时间 |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_DELAY, RabbitMqConfig.ROUTING_KEY_DELAY, content, message -> { |
| | | message.getMessageProperties().setExpiration(6000 + ""); |
| | | return message; |
| | | } |
| | | }); |
| | | } |
| | | |