データソースの 1 つで、アプリケーションで 2 フェーズ コミット Exption が発生しました。ポイントは、アプリケーションが Oracle Toplink を使用して Ready Only Data オプションを実行することだけです。アプリケーションでのハプリングは次のとおりです
- リクエストはウェブサービスに来てください
- JMS キューへの Web サービス呼び出し。アプリケーションはキューからの応答を必要とするため、Read Respose でキューを使用
- メッセージ Bean (これを ProcessBean と呼びましょう) では、いくつかの成功したヒットが Oracle Toplink を使用して Oracle DB に送られます。[b]例外はありません[/b]。
- DB データ読み取りポインタが Blaze によって提供される Blaze ルール RMI API への呼び出しに移動した後。成功した結果が得られます。
- キューは応答キューを呼び出し、応答メッセージは送り返されます。
- ここで例外が発生し、ポインタが再び ProcessingBean に到達します
- Webサービスでは、応答が返されません。
PS Weblogic接続プールでグローバルトランザクションを無効にすると、すべて正常に動作します。または、2 フェーズ コミットを有効にすると、すべて正常に動作します。