2011-12-03 93 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..

相关问题