2012-12-03 28 views
1

你好夥計們,插入多個數據庫在同一事務

我有一個要求,像我必須在(到)不同的數據庫執行CRUD操作說SQL和Oracle,在同一交易。有沒有辦法實現這一點?

(1)是否有可能如果是那麼如何,要實現這一點使用一個SessionFactory的?

(2)是否有可能使用兩個不同的SessionFactory做到這一點,如果又如何?

唯一條件我已經是當我火了一個查詢插入應該插入在同一時間這兩個數據庫。

我希望我的問題非常明確,我的問題。 等待您的回覆。

+1

http://stackoverflow.com/questions/10212274/two-phase-commit-2pc-configuration-with-atomikos你可能還需要谷歌JTA –

回答

0

您可以使用全局事務。這在Java Transaction API中指定。許多應用程序服務器確實支持使用專有的事務管理器,這可以反過來在會話工廠中使用。基礎思想是使用兩階段提交協議,它必須由數據庫支持(他們需要了解prepare命令)。這些驅動程序通常用於尋找XA兼容性。 Oracle的Weblogic應用程序服務器,例如已經附帶了符合XA標準的Oracle驅動程序。無論如何,這可能是其他應用程序服務器不同。

XOpen XA JTA基地,你應該通過閱讀來獲得大畫面。

G-人提供了良好的鏈路上Atomikos公司的配置,爲您的應用程序服務器不提供合適的TA經理或你不想使用應用程序服務器的情況。