领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多关于应用服务器拥抱 Spring 的主题,另一个更新。Oracle 一直致力于与他们的应用服务器进行增值集成。
这类似于我们在 WebLogic 8.1 及更高版本中使用 WebLogicJtaTransactionManager 的方式。在 OC4J 环境中,应使用 OC4JJtaTransactionManager 代替通用 JtaTransactionManager,它提供了以下好处
对于熟悉 JTA 的人来说,使用 UserTransaction(就像在 Java EE 中以编程方式控制事务时一样)存在一些明显的差距,也许这可以理解,因为在将近十年前 J2EE 首次构思时,人们做出的假设现在已经过时了,即没有人会想要在没有 EJB 的情况下进行事务管理。
问题是,某些操作(例如挂起事务(例如获取“需要新”语义))仅在 TransactionManager 上才有可能。此接口在 JTA 规范中是标准化的,但与 UserTransaction 不同,它不提供众所周知的 JNDI 位置或其他获取它的方法。其他一些事情,例如隔离级别的控制或特定于服务器的“事务命名”(用于监控或其他目的),使用 JTA 完全不可能。
因为 Spring 提供了丰富的、可移植的事务抽象,所以在后台它完成了驱动 JTA 和其他 API 的工作,因此您的代码不需要了解任何底层基础设施,因此可以利用任何提供更多控制或更高效率的专有 API。Spring 支持声明式事务和编程式事务,因此您可以将事务管理分层到不知道任何事务的 POJO 上;或者,如果事务管理是您的业务逻辑的一部分,则可以使用更优雅的 API,它提供比 JTA 更多的功能,不依赖于 JNDI,并且使用起来更简洁。
此代码将进入 Spring 核心,并将随 Spring 2.0.3 一起发布。感谢 Oracle 对 Spring 的持续支持。Spring 在他们的 Fusion Middleware 平台和他们的 SCA 策略中发挥着重要作用。当然,Interface21 也是 Spring 的创始 SCA 合作伙伴,我们正在与 Oracle、BEA、IBM 和其他公司合作开发 Spring 的 SCA 绑定。正如 Oracle SCA 高级工程师 Greg Pavlik 去年在博客中写道,这里有很多好处,Spring 应用程序开箱即用地“支持 SCA”
最后,从 Java 程序员的角度来看,一些非常有趣的消息:现在有一个 Spring 集成,允许基于 Spring 的应用程序直接连接到基于 SCA 的 SOA 环境。随着 Spring 成为许多组织构建 J2EE 应用程序的事实标准,我们正在为这些投资打开透明的基于 SCA 的集成的大门。此外,现在 Java 开发人员有一个实用的开源方案来使用 SCA,而无需担心新的学习曲线或大量新的结构。使用 Spring,它可以仅仅是 POJO:一直到最后都是乌龟。很多人直接问我关于 Java 编程和 SCA 的问题。Spring 是一个很好的答案。这让我想起:SCA Java 工作组中发生了一些有趣的事情,Adrian(他在 Interface21 负责所有艰苦的工作!)或我应该在有时间时发布一个正式的更新……
Oracle 还有更多关于 HA 功能的想法;肯定有一些有趣的可能性,尤其是在 RAC 方面,许多大型企业客户都在使用它。他们非常有兴趣进一步探索 Spring 和 Oracle 技术之间的集成思路,因此请将任何想法反馈到这里或通过您的 Oracle 联系人反馈。Oracle 还维护了一个优秀的 资源页面,介绍 Spring 集成。