1

WSO2dss と Wso2 ESB を使用して、一度に何のテーブルも挿入していません。これらは従属テーブルであり、1 つのトランザクションが失敗した場合にロールバックする方法です。私の問題は、EMP1、EMP2、EMP3 を挿入していることです。データは EMP1 に正しく挿入され、EMP3 に挿入中に EMP2 エラーが発生しました。WSO2 を使用してこれを行う方法を Oracle でNONXAENABLEDS があります

<sequence>
                  <payloadFactory>
                     <format>
                        <p:insert_emp2_operation xmlns:p="http://ws.wso2.org/dataservice">
                           <xs:e_device xmlns:xs="http://ws.wso2.org/dataservice">$1</xs:e_device>
                           <xs:e_amount xmlns:xs="http://ws.wso2.org/dataservice">5000</xs:e_amount>
                           <xs:e_no xmlns:xs="http://ws.wso2.org/dataservice">450</xs:e_no>
                        </p:insert_emp2_operation>
                     </format>
                     <args>
                        <arg expression="//e_device/text()"/>
                     </args>
                  </payloadFactory>
                  <send>
                     <endpoint>
                        <address uri="http://192.168.1.201:9764/services/emp2_DataService/" format="soap11"/>
                     </endpoint>
                  </send>
               </sequence>
            </target>

他のいくつかのテーブルと同じように、これをすべてロールバックする方法

4

1 に答える 1

1

WSO2 DSS 自体を使用してロールバックを伴うトランザクションを有効にする場合は、次の手順を使用できます。関連するテーブルが同じデータベースにある場合は、WSO2 データ サービス サーバーでboxcarring 機能を使用できます。この機能では、データ サービス作成レベルで boxcarring を有効にできます。テーブルが異なるデータベースに分散されている場合は、分散トランザクション機能を使用できます。ただし、これらの機能を両方とも有効にしたら、それに応じてプロキシ サービスを変更する必要があります。WSO2 ESB を使用して分散トランザクション/ボックスカーリングが有効になっている場合にデータ サービスを呼び出す方法の詳細については、次のブログを確認してください。

于 2014-01-01T02:03:04.683 に答える