我有一个生产者将消息发送给ActiveMQ代理,还有一个消费者订阅同一主题。我知道经纪人可以坚持消息,所以一旦消息到达经纪人,它可以保证消费者可用。(对吧?)
但是,如果生产者和ActiveMQ代理之间的网络断开了,会发生什么情况?在这种情况下,是否有一种方法可以保证至少发送一次?例如,生产者本身可以在发送到ActiveMQ代理之前保留消息吗?
为了建立保证,消息必须到达代理,如果网络断开,那么捕获发送错误并稍后重试发送的负担就在您身上。ActiveMQ客户机对其发送的内容不提供持久存储,您可以使用故障转移传输,客户机将在重新连接时重试发送,但如果应用程序已关闭,并且您在重新启动时没有提供恢复方法,那么客户机将无法再做任何其他操作。