快速业务通道

Geronimo renegade: OpenEJB和Apache Geronimo的EJB实现 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
API 开发是相当麻烦的” ,David 说。

幸运的是,大多数复杂性将随着 EJB 3.0 的到来而消失,这是 EJB 构造方式的主要变化 。不需要实现这些接口和回调,只需要注释无格式的旧 Java 类即可。“在 EJB 3.0 中,只 能说 ‘乒,那是一个组件,我已经将之标示为无状态” ,David 解释说。要实现回调,只 需创建方法并适当地将其注释即可。“为了减少你这边的工作,它需要实现很多,因此出现 了这些反模式(人们为使用会话定位器的 EJB 找到的),还有类似的所有这类疯狂的东西, 他们能够基本屏蔽了 EJB API,但是还可以用-- 所有这些东西现在还不是必需的。”

当然,这些留待将来解决,等到 OpenEJB 3 分支开始成为 Geronimo 一部分的时候(我 猜想)。但即使现在也存在 OpenEJB 与应用服务器如此配合的必然原因。

挑选

您可能知道,Geronimo 基于 GBeans 的概念,它允许您作为管理员来确定到底想要 激活哪个组件。所以您可以具有超流水线的版本或超工业强度的版本,但您应该选择您希望 支持的版本。OpenEJB 十分符合这个概念,因为服务器和容器之间的彻底分离使得用户可以 非常灵活地确定要支持的工具。例如,尽管一些 EJB 系统要求您具有服务器要提供的 CORBA 、Web 服务和任何其他工具,OpenEJB 允许您通过将每个工具包装为 GBean 来挑选。这样, 您就可以具有两个不同的 CORBA orb、任意数目的 Web 服务实现和其他任何您认为必要的工 具。或者,您还可以一个也不支持且仅允许本地调用。此外,通过服务器的构造方式,您可 以支持多个工具而不必具有应用服务器甚至应用程序的多个副本。(作者注:David 指出, 这种能力对于 Web 服务尤其有用,其目的在于完全的互操作性,但现实有时无法达到这种目 标。)

前方的路

向前看,OpenEJB 有一些令人兴奋的特性即将面市;一些是 崭新的,一些不太新。例如,David 对容器驱动测试的嵌入式可测试性的拟定回报感到非常 兴奋。这种能力使得用户可以容易地使用 JUnit 测试 OpenEJB 组件。通常,这些组件没有 容器不能运行,并要求您在测试前和拆卸后执行特殊设置。但嵌入式可测试性允许您创建一 个环境,将容器包含在其中作为系统的嵌入式部分,同样地,您可以嵌入类似 IBM Cloudscape™ 的数据库。“这是 OpenEJB 1 中包含的东西,在 OpenEJB 2 中丢 失了,我们将在 OpenEJB 3 中恢复”, David 解释说。“所以如果您编写 OpenEJB 组件,那么您可以毫不费力地用正常的 JUnit 测试运行它们。 ”

OpenEJB 3 还将着眼于支持 Java Persistence Architecture API (JPA)。 David 介绍说,“OpenEJB 在过去偏向于使用其他组件实现其持久性。在 OpenEJB 1 中,我们使用了 Castor,在 2 中使用了 TranQL。在 3 中我们将使用 OpenJPA,该 API 目 前是标准,所以 OpenEJB 3 将是可插拔的。所以如果 TranQL 或 Castor 或任何其他项目确 实决定支持 JPA,我们将能够支持它们中的任何一个,或者同时全部支持。 ”

OpenEJB 还将支持构造器注入,从而使得容器可以在运行时提供各种类和对 象。EJB 3.0 规范谈到了公共字段注入和 setter 注入,但构造器注入将使您可以避免为预 期不会更改的值创建 setter。当然,它还能够帮助避免使用公共字段实现相同功能的必要性 。“我们在 1995 年基本停止了这种行为,大约在 Java 发明三天后”,David 声明。

结束语

有了持久性、事务管理并认识到对该 API 的编程将不会始终如 此痛苦,我可以看到深入调查 EJB 的价值所在,尤其是对于注定要在 Apache Geronimo 上 运行的项目来说。它们在 Web 应用程序中是强大的力量,事实上,甚至在非 Web 应用程序 中也是如此。请参阅本文 参考资料 一

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号