GlassFish の MDB のプールでメッセージを受信すると、デッドロック状態になります。同じ行セットを同時に更新しようとする複数のメッセージを受信すると、MDB は LockAcquisitionException をスローします。残念ながら、GlassFish JMS プロバイダーはすぐにメッセージを再配信するため、同じ例外が再び発生します。少し遅れて再配信するように JMS プロバイダーを構成したいと思っていましたが、これはサポートされていないようです。この問題を解決する方法についてのアイデアはありますか?
2 に答える
0
構成オプションに関するいくつかの Oracle ドキュメントへのリンクは次のとおりです 。
endpointExceptionRedeliveryAttempts
これにより、エラーをキャッチできます。その後、Fault/RME エンドポイントに MBean を実装し、人為的な遅延を追加できます。
しかし、現時点では、GlassFish に再試行の遅延を設定する方法はないようです。
于 2011-04-06T22:25:53.127 に答える
0
MQ Series での「再試行遅延」の構成を見たことがありますか?
エラーをキャッチし、スリープしてから、再度スローするのはどうですか?
于 2011-04-06T22:14:25.553 に答える