2011-07-27 25 views
0

我一直在使用Axis2來引發我的Web服務。我的一些服務是交易的一部分 - 即無論是全部還是全部都不必執行。WS-AtomicTransaction與Axis2

爲了解決我的問題,我一直在閱讀關於Web上的WS-AT規範。但是我無法弄清楚如何配置和使用Axis2的這個特性。任何人都可以請分享如何開始?任何支持代碼都會很好。

謝謝!

+0

您是否找到解決方案/例如?我正在尋找相同的...! – SJunejo

回答

2

您可能會更好地使用特定應用程序服務器供應商提供的JAX/WS實現。你可以看到諸如this的教程。

需要注意的一件事是分佈式事務看起來非常有吸引力,但它們確實增加了相當大的操作複雜性,尤其是在故障情況下。

  1. 事務管理器的事務日誌對於管理系統之間的一致性變得至關重要。丟失這些日誌,你有可能失去交易結果的知識。
  2. 您將介紹可能具有不同可用性特徵的系統之間的耦合。在正確(或錯誤)時間發生系統故障將導致數據庫鎖定保留在一個系統中,直到所有系統恢復到服務狀態。具體而言,在兩階段協議中,資源(例如數據庫)在階段1「投票」之後,它不能解決交易,直到交易管理者通過收集所有參與者的投票決定交易的總體命運。如果一個參與者無法恢復一段時間,那麼該交易持有的所有鎖定都會保留此時間。唯一的解決方法是手動干預(操作複雜性)和潛在的不一致性。

總之,我不願意推薦在不同運營領域(如不同公司或不同地區)的系統之間使用分佈式事務。

+0

感謝您的提示,我將盡力避免這種設計。我無法使用你在帖子中提到的工具 - 它不能用於第2軸? – WinOrWin

+1

根據Axis 2的網站可以完成,但我沒有找到任何例子。 – djna

+0

他們是否支持WS-Atomic交易的任何開源平臺?他們是否有替代WS-Atomic交易的建議? – Abbadon