大家早上好。
我有一个连接到Weblogic JMS队列的J2EE EJB应用程序。 在我的开发和测试Weblogic Environment中没有问题,但在生产环境中,当发生TransactionRollbackException时,JMS消息将返回到Queue并一次又一次地被读取。 在其他环境中,当发生此异常时,该消息将被拒绝并且不会被处理。
任何人都知道这种行为是否可以在Weblogic中配置?我需要配置Weblogic以在发生错误时拒绝该消息。
感谢。
答案 0 :(得分:0)
这就是所谓的脏读。这是一个很大的问题,因为如果有许多消息失败,服务器可能会崩溃。我不知道WebLogic服务器中是否存在重新读取邮件的限制的设置。我建议你将一个属性放在消息的属性中,如rereadCount
,并在每次错误读取时增加该数量。如果计数达到3,我们会说您记录了一条消息,并将该消息标记为已读。这应该可以解决你的问题。