我开始实现基于 ActiveMQ 的消息传递服务,以将工作任务发送到各种服务器,但是我注意到在默认模式下,如果没有人“监听”生产者的主题,来自该生产者的任何消息都将丢失。
IE,
- 如果生产者向实时代理发送消息
- 但是没有消费者可以听
- 消息无处可去
相反,我希望 Broker 保留消息,直到至少一个侦听器收到它。
我正在尝试几种实现方式,但不确定最佳/正确的方式:
- 实现消息确认功能
- (对此需要注意的是,我需要生产者在每条消息之后等待其侦听器,这看起来非常非常笨拙和最后的手段......)
- 实现会话事务
- (我在这个问题上遇到了麻烦,因为交易这个词,在这里使用它听起来是正确的,但我认为它更多地与生产者 - 经纪人互动有关,而不是生产者 - 消费者)
理想情况下,有一种发送(或一组)消息的模式,发送后返回布尔值,说明消息是否被至少一个消费者收听。