0

我有如下要求。

已经有一个 Websphere 服务器和一个 MDB 模块,用于将消息保存在数据库表中。每行都将在列中标记为 INSERTED 状态。

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

最好的方法是什么?我们听说 EJB 3.1 Singleton Startup bean 对启动批处理应用程序很有用?

4

1 回答 1

2

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

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

于 2012-06-14T13:21:34.810 回答