快速业务通道

利用Geronimo深入EJB Web应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
ges/EditEntry"            paramId="id" paramName="row_obj"            paramProperty="name">Edit</html:link>         <html:link action="/pages/DeleteEntry"            paramId="id" paramName="row_obj"            paramProperty="name"             onclick="return confirmDelete(''Number'')">            Delete         </html:link>      </logic:present>    </display:column> ... </display:table>

利用Geronimo深入EJB Web应用程序(6)

时间:2011-05-20 IBM Neal Sanche

EJB 层

该应用程序中有两个 EJB 类。第一个类使用容器管理持久性(Container- Managed Persistence,CMP)来提供对简单数据库表 PhoneBookEntryBean 的基 于对象的访问。第二个类是一个 Stateless Session bean,它提供业务逻辑。通 常需要通过无状态会话 bean 来操作 CMP bean,因为会话 bean 可被设置来提供 对数据库的事务处理,从而在发生错误时可以回滚更新。此外,在 Session bean 中执行所有 CMP 操作使得 Web 应用程序无需知道数据库访问层的任何实现细节 。所以如果用另一种技术替换该层(比如使用 Hibernate 持久层),将无需更改 Web 应用程序中的代码。

XDoclet 主要用在 EJB 层中以提供部署描述符生成。这对于减少构建此类应 用程序所需的维护工作是十分重要的。下载源代码并查看 PhoneBookEntryBean.java 和 PhoneBookSessionBean.java 的类 Javadoc 注释 ,以了解用于定义 EJB 类的大量 XDoclet 标记。

要生成无状态会话 bean 的方法,添加名为 @ejb.interface-method 的 XDoclet 标记,其视图类型属性可以为 local、remote 或 both。该属性告诉 XDoclet 在会话 bean 的本地接口、远程接口或两种接口中生成相应方法。您还 可以控制事务处理类型。参见 清单 5,它是其中一个接口方法的示例,列出电话 簿条目并返回它们的值对象表示。

清单 5. PhoneBookSessionBean.java 类的 listEntries() 方法

/** * List all of the phone book entries. * @return a collection of PhoneBookEntryValue objects. * * @ejb.interface-method view-type="both" * @ejb.transaction   type="Required" */ public java.util.Collection listEntries() {   ArrayList values = new ArrayList();   try {     Collection entries = PhoneBookEntryUtil.getLocalHome ().findAll();     Iterator i = entries.iterator();     while(i.hasNext()) {        PhoneBookEntryLocal entry = (PhoneBookEntryLocal)i.next ();        values.add(entry.getPhoneBookEntryValue());     }   } catch (Throwable ex) {     ex.printStackTrace();   }   return values; }

结缔组织

在我的文章“将数据库连接到 Geronimo 应用服务器的三种方法” (developerWorks,2005 年 6 月)中详细介绍了 Geronimo 的各种部署计划的 重要性。让这么小的应用程序到达功能状态是非常有挑战性的,需要在部署计划 中提供许多小选项,还有 XDoclet 标记之间的交互、标记生成的代码,以及部署 计划。但是详细介绍这些内容超出了本文的范围。示例程序有许多配置文件和部 署计划,几乎所有的这些东西都能在项目的 src/resources 子树中找到。下文简 要介绍了这些文件的相关细节,以说明需要进行哪些修改才能让将来的应用程序 工作。

ear 子目录包含企业应用程序部

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号