簡體   English   中英

如何在WSO2中使用事務

[英]How to use transaction in WSO2

我正在嘗試通過WSO2將數據插入sql時使用事務。 但是交易不起作用。 我正在寫下示例代碼。

<sequence xmlns="http://ws.apache.org/ns/synapse" name="InsertOrderSequence" onError="myFaultHandler">
   <log level="full"></log>
   <transaction action="new"></transaction>
<dbreport useTransaction="true">
  <connection>
     <pool>
        <dsName>jdbc/sqlserver</dsName>
     </pool>
  </connection>
  <statement>
      <sql>
           insert query 1
      </sql>
     </statement>
     <statement>
        <sql>
             insert query 2
        </sql>
     </statement>
   </dbreport> 
  <transaction action="commit"></transaction>
  </sequence>

  <sequence xmlns="http://ws.apache.org/ns/synapse" name="myFaultHandler">
    <transaction action="rollback"></transaction>
  </sequence>

如果在第一張表中成功插入而第二張表中插入失敗,則應該進行時間回滾,但是回滾不起作用,並且在第一張表中發生數據插入。

請讓我知道我在哪里做錯了。

db報表介體不支持數據庫的批處理插入和相關寫操作。

由於這是對單個數據庫表的批量插入,因此您將必須使用數據服務功能來完成此操作。

在WSO2數據服務中提供了批處理插入功能,該功能為您提供了完成此任務的功能。

因此,您可以在ESB之上安裝數據服務功能,並通過啟用[1]中的批處理插入選項來創建數據服務。 然后從ESB調用數據服務。

[1] http://pushpalankajaya.blogspot.com/2014/02/wso2-dss-batch-insert-sample-end-to-end.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM