2011-04-15 58 views
4

我們的架構包括使用原子事務使用同一個數據庫

地鐵JAX-WS規範開發的Web服務駐留在同一臺服務器上。這些服務部署在單個Glass Fish應用服務器上,作爲單獨的戰爭

files.All web服務在內部使用單個數據庫。數據存儲層使用Hibernate實現,而Spring用於在服務內部實現事務。現在,當我們想要做跨越多個Web服務的事務時,可能有哪些方法?

  1. 我們是否需要使用JTA還是可以避免相同?
  2. 我們是否需要使用Metro支持的WS-AtomicTransaction規範?

回答

0

我回答我自己的問題,因爲直到現在還沒有答案。然而,將欣賞同樣的意見。 我覺得最好的架構會將每個Web服務看作是獨立的,並使用WS-AtomicTransactions/WS-Coodrination來處理跨Web服務的事務。 當某些Web服務因性能或其他原因需要部署到不同的Glassfish域或不同服務器時,這也會有所幫助。 這些JAX-WS Metro服務在內部將使用glassfish上的JTA實現2PC。但是,這是隱藏在地鐵實施

Vipul Shah