2011-12-03 91 views
0

我需要爲交易管理應用服務器?真的。我是否需要應用程序服務器進行事務管理?

我的問題是Spring框架。 他們說(Spring文檔),

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/transaction.html#d0e20594

「只有當你的應用程序需要處理跨越多種資源交易通常需要應用服務器的JTA功能」, 我使用JBoss AS服務器和JBoss可以提供連接從連接池和管理交易。 我的配置文件使用(本地):

<!-- Transaction Config --> 
<bean id="transactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager" 
     p:sessionFactory-ref="sessionFactory"/> 

我需要改變(全球):

<bean id="txManager" 
     class="org.springframework.transaction.jta.JtaTransactionManager"/> 

我爲了使用連接池從Jboss的。 Spring文檔說:

特別是,您不需要應用程序服務器只是通過EJB的聲明性事務。事實上,即使你的應用服務器擁有強大的JTA功能,你可以決定了Spring框架的聲明式事務提供更多的功率和更高效的編程模型比EJB CMT。 謝謝。 ApplicationServer的的

+2

我猜你有你的問題本身的答案。您可以使用任何基於應用服務器的TM或使用Spring TM –

回答

2

使用提供交易管理取決於你有什麼用例,

如果您的交易是分佈式(跨多個政黨),那麼你想使用JTA事務的能力,因爲你不普通的數據庫事務需要應用服務器和Spring內置的事務處理能力綽綽有餘。

雖然這也取決於你的架構爲應用程序定義的,在某些組織是怎樣的一個做法是使用JTA的,即使事務邊界是有限的,並且不需要分佈式事務。

您不妨讀一些有關分佈式事務的決定,如果你需要JTA或只是春天本地事務。

一些參考:

http://www.javaworld.com/javaworld/jw-04-2007/jw-04-xa.html

http://en.wikipedia.org/wiki/Java_Transaction_API

0

這是泉源不得不說的你的問題:

是需要交易管理應用服務器?

Spring框架的事務管理支持顯著改變 傳統上認爲J2EE應用需要 應用服務器。特別是,你並不需要一個應用程序服務器 僅僅爲了通過EJB聲明事務。事實上,即使你擁有一個具有強大JTA功能的應用服務器,你也可以很好地決定Spring Framework的聲明式事務提供更多的功能和更高效的編程模型,而不是EJB CMT。 通常情況下,只有在您需要登記多個事務資源的情況下,您才需要應用程序服務器的JTA功能,並且許多應用程序能夠處理跨多個 資源的事務不是必需的。例如,許多高端應用程序 使用單個高度可擴展的數據庫(如Oracle 9i RAC)。 獨立事務管理器,如Atomikos Transactions和JOTM 是其他選項。 (當然,您可能還需要其他應用程序服務器 功能,如JMS和JCA)。最重要的一點是,您可以選擇何時將 應用程序擴展到完整的應用程序服務器,以及彈性框架 。飄的日子 時使用EJB CMT或JTA唯一的選擇就是去實現本地交易,比如那些有關JDBC連接的代碼 ,並面臨鉅額 返工如果你需要的代碼到全球, 盛器內運行管理交易。使用Spring Framework,只需要更改 配置,以便代碼不必。

More Detail..

相關問題