1

私は1つのクエリを持っています:-

私の ESB 4.7.0 では、Dss は 3.0.1 です。

クライアントから1つの配列リストを取得しているため、データをデータベースに確実に挿入したいと考えています。その配列は、3つの異なるテーブルに挿入する必要があります。各テーブルから返された生成されたキーが返されました。これは、2番目のテーブルに挿入するのに役立ちます。3番目のテーブルと同じプロセスです。このために、wso2dssを使用してwso2esbで3つの異なる挿入操作を使用しています.挿入はうまくいきます..

@私の問題は、2 番目または 3 番目のテーブルに挿入しているときに、ネットワークの問題またはデータ関連の問題が原因でエラーが発生したことです。その場合、私のトランザクションはロールバックされる可能性があります。私はトランザクションメディエーターで行いましたが、シーケンス内で役立ちます。それは他のシーケンスに反映されていないので、どうすればこれを行うことができますか.これには、クラスメディエーターまたは新しいものを使用できます.

4

3 に答える 3

0

お客様の要件に対する理想的なソリューションは、Boxcarring を使用することです。Boxcarring は、一連のサービス呼び出しをグループ化して一度に実行する方法です。該当する場合、ボックスキャリング セッションは、RDBMS データ ソースで使用される場合など、トランザクション方式で機能します。「データ サービス ホスティング」機能は、サーバー側でサービス呼び出しをグループ化することにより、ボックスキャリングを容易にします。その結果、特別なサービス クライアントは必要なく、通常どおり、サーバーに対してサービス呼び出しを連続して行い、ボックスキャリング セッションに参加することができます。

boxcarring が機能するには、HTTP などのセッション管理をサポートするトランスポートを使用する必要があります。サービスクライアントは、サーバーから送信されたときにセッション Cookie を返すことにより、セッション管理もサポートする必要があります。Axis2 サービス クライアントは、セッション管理を完全にサポートしています。

boxcarringに関するWSO2 の元のドキュメントと、boxcarring を段階的に操作する方法を説明しているこの便利なブログ投稿を見つけてください。

于 2015-08-10T06:43:19.717 に答える