我遇到的问题是这样的: 使用服务混合和骆驼路由我发送一个JSON消息通过activeMQ消费者。 问题是这个消费者处理这个消息的时间是X,因此消费者在消息消费期间可能会停止或崩溃。在这种情况下,消息将成为消费者的一半,并且已经从队列中删除,因为它已交付。ServiceMix,Apache ActiveMQ,骆驼发送“完成”消费消息
是否有可能使队列在消耗时不移除消息,而是等待消费者的某些确认消息,在删除消息之前完成此消息的处理?
在典型的文件系统导入文件中,您将删除文件或将其重命名为仅在文件完全处理完成并且事务完全提交时完成。那么,如何在ESB世界中,我们可以说,保持消息,直到我完成,我告诉你删除它。
我使用spring jms:listener-container和jms:listeners来消耗当前的消息。