0

GlassFish の MDB のプールでメッセージを受信すると、デッドロック状態になります。同じ行セットを同時に更新しようとする複数のメッセージを受信すると、MDB は LockAcquisitionException をスローします。残念ながら、GlassFish JMS プロバイダーはすぐにメッセージを再配信するため、同じ例外が再び発生します。少し遅れて再配信するように JMS プロバイダーを構成したいと思っていましたが、これはサポートされていないようです。この問題を解決する方法についてのアイデアはありますか?

4

2 に答える 2

0

構成オプションに関するいくつかの Oracle ドキュメントへのリンクは次のとおりです

endpointExceptionRedeliveryAttempts

これにより、エラーをキャッチできます。その後、Fault/RME エンドポイントに MBean を実装し、人為的な遅延を追加できます。

しかし、現時点では、GlassFish に再試行の遅​​延を設定する方法はないようです。

于 2011-04-06T22:25:53.127 に答える
0

MQ Series での「再試行遅延」の構成を見たことがありますか?

エラーをキャッチし、スリープしてから、再度スローするのはどうですか?

于 2011-04-06T22:14:25.553 に答える