10.9.与特定应用服务器集成

优质
小牛编辑
127浏览
2023-12-01

10.9. 与特定应用服务器集成

一般来说,Spring的事务抽象与应用服务器是无关的。另外,使用Spring的JtaTransactionManager 类时,一种可选的方式是通过JNDI查询获得JTA UserTransactionTransactionManager 对象,其中后者可以被设置为自动探测,这时针对不同的应用服务器有不同的方式。能够直接访问 TransactionManager ,确实在很大程度上增强了事务语义,可以参考 JtaTransactionManager 类的javadoc获得更多细节。

10.9.1. BEA WebLogic

在一个使用WebLogic 7.0、8.1或更高版本的环境中,你一般会优先选用特定于Weblogic的WebLogicJtaTransactionManager 类来取代基础的JtaTransactionManager 类。在Weblogic环境中,该类提供了对Spring事务定义的完全支持,超过了标准的JTA语义。它的特性包括:支持事务名,支持为每个事务定义隔离级别,以及在任何环境下正确地恢复事务的能力。

10.9.2. IBM WebSphere

在WebSphere 5.1、5.0和4环境下,你可以使用Spring的WebSphereTransactionManagerFactoryBean 类。这是一个工厂类,通过WebSphere的 静态 访问方法获取到JTATransactionManager 实例。(这些静态方法在每个版本的WebSphere中都不同。)

一旦通过工厂bean获取到JTA TransactionManager 实例,就可以使用该实例装配一个Spring的 JtaTransactionManager bean,它封装了JTA UserTransaction,提供增强的事务语义。

请参考相关javadoc以获得完整信息。