RabbitMQ消息到期通知

时间:2019-12-31 06:52:46

标签: java java-8 rabbitmq

有没有一种方法可以将消息推送到RabbitMQ并有一个到期时间,一旦到期,它应该提供通知。 要么 是否有一种方法可以在一定时间后在RabbitMQ中传递消息。例如,我想将一条消息推送到队列中,并希望它在10秒后被传递。同时发送下一条消息。

2 个答案:

答案 0 :(得分:0)

RabbitMQ延迟消息插件将新的交换类型添加到RabbitMQ,如果用户选择这样做,则可以延迟该交换路由的消息。

您可以按如下所述的方式使用它。

calc_fun1 <- function(years,apr,initial,investment) {
   value <- numeric(years + 1)
   value[1] <- initial
   for (i in 1:years) value[i + 1] <- (value[i] + investment) * apr
   data.frame(year = 0:year, value)
}

答案 1 :(得分:0)

关于问题的第一部分,由于每个邮件的TTL而导致过期的邮件路由是RabbitMQ dead letter exchange (DLX)的功能。

关于延迟,RabbitMQ并不是开箱即用的,我认为这也不应该是消息代理的功能。我无法想象一个合理的用例,在该用例中,您会故意想要在消息队列中引入延迟。实际上,最小化延迟排队消息是任何消息代理的设计目标。如果发现延迟合适,那么消息队列也可能不是适当的传送方式。

豫ICP备18024241号-1