快速业务通道

在Apache Geronimo上部署J2EE应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
me>     </session>    </enterprise-beans>   </openejb-jar>

在Apache Geronimo上部署J2EE应用程序(5)

时间:2011-04-16 IBM Kunal Mittal

注: Aaron Mulder 编写的 Apache Geronimo Development and Deployment 一书中有这 个 XML 文件结构的精彩可视表示。(请参阅 参考资料 获得这本书的链接。)

基本上,这个文件:

定义在容器中部署的实体 bean。

设置 Java 命名和目录接口(JNDI)名称。

声明该 bean 是实体 EJB。

定义使用的数据源。

定义这个实体 EJB 代表的表的名称。

用数据库表中对应的列,对代表列的容器管理字段进行定义。

这就够了!使用一个简单的 Java 类和这个部署描述符,就完成了部署实体 EJB 需要做 的全部工作。在过去,编写实体 EJB 至少需要一到两天。现在,只要两个小时。

无状态会话 EJB

在部署时,会话 EJB 需要的工作实际上与实体 EJB 相同。实际上,在这里 XDoclet 的 使用方式也与前面用于实体 EJB 的方式类似。清单 5 所示的 PhoneBookSessionBean.java 显示了处理会话 EBJ 时需要的部署描述符的基本情况。它实际上比实体 EJB 的部署描述符 简单得多。

清单 5. PhoneBookSessionBean.javapackage org.acme.phonebook.ejb; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /** * Phone book session bean. A place for all of the useful business * methods that can be done with phone book entries. * * @ejb.bean name="PhoneBookSession" *    type="Stateless" *    local-jndi-name="java:comp/env/ejb/PhoneBookSessionLocal" *    jndi-name="org.acme.phonebook.ejb/PhoneBookSession/Home" *    view-type="both" * * @ejb.permission unchecked="true" * * @ejb.interface generate="local,remote" *    remote-class="org.acme.phonebook.ejb.PhoneBookSession" *    local-class="org.acme.phonebook.ejb.PhoneBookSessionLocal" * @ejb.home generate="local, remote" *    remote-class="org.acme.phonebook.ejb.PhoneBookSessionHome" *    local-class=" *   org.acme.phonebook.ejb.PhoneBookSessionLocalHome" * @ejb.util generate="physical" * @ejb.ejb-ref ejb-name="PhoneBookEntry" view-type="local" *   ref-name="ejb/PhoneBookEntryLocal" * @web.ejb-local-ref *  name="ejb/PhoneBookSessionLocal" *  type="Session" *  home="org.acme.phonebook.ejb.PhoneBookSessionLocalHome" *  local="org.acme.phonebook.ejb.PhoneBookSessionLocal" *  link="PhoneBookSession" * */ public abstract class PhoneBookSessionBean implements     javax.ejb.SessionBean {   /**    * Add a phone book entry.    * @param name the name    * @param number the number    *    * @ejb.interface-method view-type="both"    * @ejb.transaction   type="Required"    */   public void addEntry(java.lang.String name,     java.lang.String number) {      try {        PhoneBookEntryLocal entry =           PhoneBookEntryUtil.getLocalHome().             create(name,number);      } catch(Throwable ex) {   

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