2016-12-13 27 views
0

大家早上好。Weblogic JMS无限循环

我有一个连接到Weblogic JMS队列的J2EE EJB应用程序。 在我的开发和测试Weblogic环境中,没有任何问题,但在生产环境中,当发生TransactionRollbackException时,JMS消息将返回到Queue并一次又一次地读取。 在其他环境中,发生此异常时,该消息会被拒绝并不会被处理。

任何人都知道这种行为是否可以在Weblogic中配置?如果发生错误,我需要配置Weblogic来拒绝邮件。

感谢。

回答

0

这就是所谓的脏读。这是一个很大的问题,因为如果有很多消息失败,服务器可能会崩溃。我不知道WebLogic服务器中是否有设置限制重新读取消息的次数。我建议你在邮件的属性中加入一个属性,如rereadCount,并在每次错误的读取时增加该数量。如果计数达到3,让我们假设你记录一条消息,将该消息标记为已读。这应该可以解决你的问题。