领先一步
VMware 提供培训和认证,助您加速进步。
了解更多关于应用服务器拥抱 Spring 的主题,又有一个更新。Oracle 一直致力于为其应用服务器提供增值集成。
这与我们WebLogicJtaTransactionManager中WebLogic 8.1及更高版本的情况类似。在OC4J环境中,OC4JJtaTransactionManager应取代通用的JtaTransactionManager使用,并提供以下好处:
对于熟悉 JTA 的人来说,使用 UserTransaction(正如你在 Java EE 中以编程方式控制事务时所做的那样)存在一些显著的不足,这可能是可以理解的,因为在近十年前 J2EE 最初构想时,存在一个现已废弃的假设,即没有人会想在没有 EJB 的情况下进行事务管理。
问题在于,某些操作(例如挂起事务,以获得“requires new”语义)只能通过 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 也是 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 集成的 资源页面。