@Slf4j @Component public class RabbitMqSendUtils { @Autowired private AmqpTemplate rabbitTemplate; /** * * @param routingKey 路由key * @param object 发送消息体 * @param delayTime 延时时间 */ public void sendDataToDelayQueue(String routingKey,Object object,int delayTime) { long now = System.currentTimeMillis(); try { rabbitTemplate.convertAndSend(MQConstant.DEFAULT_EXCHANGE, routingKey, object, message -> { message.getMessageProperties().setHeader("x-delay",delayTime); return message; }); } catch (Exception e) { log.error(" send message {} fail ,fail reason {} ", object, e); } finally { log.info("send message to mq cost %s", System.currentTimeMillis() - now); } } /** * * @param routingKey 路由key * @param object 发送消息体 */ public void sendDataToQueue(String routingKey,Object object) { long now = System.currentTimeMillis
spring boot 整合 rabbitMQ 延时队列
最新推荐文章于 2024-08-15 22:54:46 发布
本文介绍了如何在Spring Boot应用中整合RabbitMQ,利用其延时队列功能。主要方法包括设置路由键、发送消息体及指定延时时间,确保消息在特定延迟后被消费。
摘要由CSDN通过智能技术生成