在将消息发送到Rabbitmq使用者时,我有延迟消息的问题。我已经设置了x-delay标头,但是问题是我希望将消息以一秒的时间发送给消费者。但是对于具有此代码的应用程序,它们都是在启动应用程序1秒钟后同时发送的。那么如何在彼此之间有1秒钟的时间差的情况下逐渐发送它们?
public void produce(Company company){
// for (Company company:
// companies) {
amqpTemplate.convertAndSend(exchange, routingkey, company, new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws AmqpException {
message.getMessageProperties().setHeader("x-delay",10000);
return message;
}
});
System.out.println("Send msg = " + company);
// }
// amqpTemplate.convertAndSend(exchange, routingkey, company);
}
在主应用程序中,我从公司列表中调用每个公司的生产方法(也尝试使用内部生产方法,但不起作用)。