延迟来自RabbitMQ队列的消息

时间:2020-11-12 14:10:12

标签: java rabbitmq

在将消息发送到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);

    }

在主应用程序中,我从公司列表中调用每个公司的生产方法(也尝试使用内部生产方法,但不起作用)。

0 个答案:

没有答案