我在GlassFish中的MDB池上接收消息时遇到死锁情况。如果我收到同时尝试更新同一组行的多条消息,则MDB会抛出LockAcquisitionException。不幸的是,GlassFish JMS提供程序立即重新传递消息,导致再次发生相同的异常。我希望在一段时间后将JMS提供程序配置为重新启动,但这似乎不受支持。关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
如何捕捉错误,睡觉,然后重新投掷它?
答案 1 :(得分:0)
以下是有关配置选项的一些Oracle文档的链接: http://download.oracle.com/docs/cd/E19798-01/821-1794/aeooq/index.html
endpointExceptionRedeliveryAttempts
这将允许您捕获错误。然后,您可以在Fault / RME端点上实现MBean并添加人为延迟
但目前似乎没有办法在GlassFish中进行重试延迟。