2013-03-13 48 views
0

我想更多地瞭解DSS事務處理。我一直在閱讀boxcarring和分佈式交易,但這不是我要找的。 Boxcarring是statefull(客戶端需要維護一個會話),我的交易是在同一個數據庫中,而不是分佈式的。如何使用postgressql處理wso2esb或wso2dss中的事務

我正在尋找解決以下問題/挑戰: - 我有一組相關的表。它們與主要/外部關鍵關係有關。我需要更新/插入相關表中的對象。我可以在一組嵌套更新查詢中執行此操作嗎?如果是這樣,當其中一個更新失敗時會發生什麼?所有插入/更新的對象是否會回滾? (我使用postgres數據庫)

我插入到第一個表中,並得到一個返回鍵值,這是wso2dss的未來之一,並使用該鍵我插入到第二個表也獲得一個更多的鍵使用插入我插入的另一次是好的,而我插入 我的問題是,如果我插入重複數據到第二個表中它將徹底的錯誤,在這種情況下,我的第一個錶行可能會回滾..我們可以做到這一點在wso2dss或wso2esb

謝謝,

回答

0

您可以使用存儲過程,而不是嵌套查詢。您可以瞭解如何通過[1]在dss中執行存儲過程。

[1]。 http://blog.shelan.org/2012/03/how-to-call-mysql-stored-procedures.html

謝謝, Dharshana。

+0

thanx重播。我希望你能澄清我的疑問我的問題是如何回滾一個事務在wso2esb或wso2dss我使用POSTGRES http://stackoverflow.com/questions/15332501/how-can-i-handle-error-sequence-in-wso2esb – Faisal 2013-03-14 05:08:32

+0

在您的場景中,當DSS更新失敗時,它將向ESB發回SOAP錯誤。 自ESB以來,這仍然只是另一個消息響應,除非您明確檢查消息並執行必要的操作,否則不會執行故障順序。 所以你必須聲明通訊消息是一個SOAP_FAULT,所以你必須說它是一個SOAP_FAULT並強制它出現錯誤。這在[1]中進行了解釋。 [1] http://maharachchi.blogspot.com/2012/09/now-you-can-send-soapfaults-to-fault.html – Dharshana 2013-03-14 07:32:50

+0

thanx很多..再次我可以寫故障刪除操作序列使用dbreport mediator.if錯誤發生在esb或在dss錯誤序列將作出響應,只有我可以寫刪除操作基於返回的genrated密鑰 – Faisal 2013-03-14 09:03:21