Java EE 应用程序获取由 JMS 队列传递的数据。不幸的是,某些传递的消息相互依赖,因此必须以正确的顺序处理它们。据我了解,我不能在这里依赖 JMS(或者我可以吗?我知道它们会以正确的顺序发送)。
此外,可能会有一种消息将由消息的提供者拆分,因此在某些情况下,成千上万的这些消息将被发送到应用程序,所有这些消息都与特定实体相关. 没有必要一个一个地处理它们(这将是最简单的方法,例如在 MDB 中),我担心如果我这样处理它们会很糟糕,因为我总是必须在数据库,所以我宁愿以某种方式对它们进行批处理,并在一个事务中完全处理它们。但我不知道该怎么做,因为我在从队列中读取时没有检测到批处理消息的方法。我可以每秒左右将所有消息从队列中取出并处理它们,但是我不确定是否已经存在相互依赖的消息。
所以我认为我需要某种缓冲/缓存或某事。像这样在接收和处理 JMS 消息之间,但我目前没有看到一个好的方法。
任何想法如何处理这种情况?