ActiveMQ如何保证味精至少发送一次?

时间:2018-07-24 08:34:10

标签: jms activemq

我有一个生产者将消息发送给ActiveMQ代理,而一个消费者则从同一主题进行订阅。我知道代理可以持久保留味精,因此,一旦味精到达代理,就可以保证对消费者可用。 (对吗?)

但是,如果生产者与ActiveMQ代理之间的网络断开了,在这种情况下,有没有办法保证至少一次发送,该怎么办?例如,生产者本身可以在发送给ActiveMQ代理之前保留味精?

1 个答案:

答案 0 :(得分:1)

为了建立保证,消息必须到达代理,如果网络中断,则您要承担捕获发送错误并在稍后的时间重试发送的负担。 ActiveMQ客户端不为其发送的内容提供任何持久性存储,您可以使用故障转移传输,并且客户端将在重新连接时重试发送,但是如果应用程序已关闭,并且您未提供重启时的某些恢复方法,则无法客户可以做的更多事情。