在以下情况下,我收到一个XML,其中包含多个100,000个条目。对于每个项目,我必须同时处理该消息,并且一旦完成该批处理/批量处理,就必须通知客户端我已经处理了它发送的100,000个条目。我正在考虑在Message Driven Bean中添加每条消息,以同时处理其中的每条消息。我的问题是我如何知道MDB处理了该批处理中的所有消息,并向我发送该批处理/ XML中的所有消息已完成的信号?在Java Message Queue中执行此操作的最佳方法是什么?我希望在处理完此XML中的所有消息时得到通知,以便我可以通知客户端。
答案 0 :(得分:1)
有很多方法可以实现,但是如果您想通过JMS实现,那么我认为最简单,最直接的方法是:
workQueue
。workQueue
接收消息并对其进行处理resultsQueue
。resultsQueue
并向客户端更新已处理(或未处理)哪些条目。每个XML条目一条JMS消息非常精细,因此如果发现性能不符合要求,您可能希望将多个XML条目一起批处理到一条JMS消息中,以提高吞吐量。