SQLServer で DB アダプター ポーラーを使用する際に問題があります。以下の手順では、私のセットアップについて説明します。
DB アダプターは、15 秒ごとにポーリングするように SQLServer で構成されています。
BPEL プロセスは、ポーリングされたレコードを受け取り、別のデータベース (oracle) を更新します。
oracle と sqlserver (必要な SP を含む) の両方が XA データソースで構成されている
両方のアウトバウンド接続で、db アダプターのデータソースが xa に設定されています。
bpel.config.transcation が必須に設定されている
製品バージョン: 11.1.1.7
「XA トランザクション タイムアウトの設定」は、データソース トランザクション タブでチェックされます。
問題: Oracle データベースが使用できない場合、BPEL プロセスからロールバック例外をスローしますが、変更は sqlserver でコミットされます。
oracle.soa.adapter のログ構成を FINEST(32) に有効にしましたが、プロセスが完了する前にコミットが内部的に行われていることがわかりました。
以下は完全なトレースリンクです