Jakarta ee 用javaee/EJB3实现批处理

Jakarta ee 用javaee/EJB3实现批处理,jakarta-ee,batch-file,Jakarta Ee,Batch File,我有如下要求 已经存在一个Websphere服务器和一个MDB模块,用于将消息持久化到数据库表中。每行都将在列中标记插入状态 现在我们需要开发另一个应用程序或批处理应用程序来提取这些消息并处理数据库中的每一行,并在处理完成后将这些状态标记为“已完成” 最好的方法是什么?我们听说EJB3.1单例启动bean对于启动批处理应用程序很有用?一个选项是创建第二个JMS队列来处理消息。在将消息写入数据库的事务中,将消息的ID添加到新队列中 然后,您的处理应用程序可以作为附加到此新队列的MDB来完成。这将消

我有如下要求

已经存在一个Websphere服务器和一个MDB模块,用于将消息持久化到数据库表中。每行都将在列中标记插入状态

现在我们需要开发另一个应用程序或批处理应用程序来提取这些消息并处理数据库中的每一行,并在处理完成后将这些状态标记为“已完成”


最好的方法是什么?我们听说EJB3.1单例启动bean对于启动批处理应用程序很有用?

一个选项是创建第二个JMS队列来处理消息。在将消息写入数据库的事务中,将消息的ID添加到新队列中


然后,您的处理应用程序可以作为附加到此新队列的MDB来完成。这将消息的接收与处理分离开来,因此您可以相应地管理MDB池大小。也意味着无需轮询数据库来检查新邮件。

谢谢。我认为,如果我们一个接一个地处理,上述问题将是一个解决方案。但是我要处理的消息需要它们之间的同步。例如,DB中有100行,其中3条消息具有相同的id。如果我们有三个MDB选择这三条消息,如何同步它们?有什么解决方案吗?因为我们需要在它们之间进行同步的批处理。提前感谢。然后我想您需要定义如何触发处理。如果消息是成组的,您是否需要等到收到整个组后再处理它们?你怎么知道整个团队何时收到?