sessionBeanID

构建描述符选项 sessionBeanID 标识 J2EE 部署描述符中的现有会话元素的名称。当进行下列操作时,将把环境条目放到会话元素中:
选项 sessionBeanID 在下列情况中非常有用:
  1. 生成 Java 包装器以及 EJB 会话 bean。在 EJB 项目部署描述符(文件 ejb-jar.xml)中,EGL 创建会话元素而不带环境条目。

    EJB 会话 bean 和会话元素按如下方式命名:

      ProgramnameEJBBean

    Programname 是通过 EJB 会话 bean 接收数据的运行时程序的名称。名称中的第一个字母是大写的,其它字母是小写的。

    在此示例中,程序的名称为 ProgramA,而会话元素和 EJB 会话 bean 的名称为 ProgramaEJBBean。

  2. 生成 EJB 会话 bean 后,将生成 Java 程序本身。因为构建描述符选项 genProperties 设置为 YES,所以 EGL 将 J2EE 环境条目生成到部署描述符中,并且是生成到步骤 1 建立的会话元素中。
  3. 将生成 ProgramB,它是用作 ProgramA 的 helper 类的 Java 程序。systemgenProject 的值与在步骤 2 中使用的值相同;同样,将生成环境条目并将 sessionBeanID 设置为会话元素的名称。

    使用 sessionBeanID 将导致 EGL 将第二个程序的环境条目放置到步骤 2 中创建的会话元素中,并且是放到会话元素 ProgramaEJBBean 中。

在后面的部署描述符部分中,EGL 在生成 ProgramA 时在步骤 2 中创建环境条目 vgj.nls.codevgj.nls.number.decimal;但条目 vgj.jdbc.default.database 仅由 ProgramB 使用并且是在步骤 3 中创建的:

<ejb-jar id="ejb-jar_ID">
  <display-name>EJBTest</display-name>
  <enterprise-beans>
    <session id="ProgramaEJBBean">
      <ejb-name>ProgramaEJBBean</ejb-name>
      <home>test.ProgramaEJBHome</home>
      <remote>test.ProgramaEJB</remote>
      <ejb-class>test.ProgramaEJBBean</ejb-class>
      <session-type>Stateful</session-type>
      <transaction-type>Container</transaction-type
      <env-entry>
       <env-entry-name>vgj.nls.code</env-entry-name>
       <env-entry-type>java.lang.String</env-entry-type>
       <env-entry-value>ENU</env-entry-value>
      </env-entry>
      <env-entry>
       <env-entry-name>vgj.nls.number.decimal</env-entry-name>
       <env-entry-type>java.lang.String</env-entry-type>
       <env-entry-value>.</env-entry-value>
      </env-entry>
      <env-entry>
       <env-entry-name>vgj.jdbc.default.database</env-entry-name>
       <env-entry-type>java.lang.String</env-entry-type>
       <env-entry-value>jdbc/Sample</env-entry-value>
      </env-entry>
   </session>
  </enterprise-beans>
</ejb-jar>                  

在可以添加环境条目之前,部署描述符必须包含会话元素。因为会话元素是在 Java 包装器生成期间创建的,所以建议您先生成 Java 包装器,然后再生成相关的程序。

在下列情况下,将程序生成到 EJB 项目中,但将环境条目放到 J2EE 环境文件中而不是放到部署描述符中:

对于 EJB 项目,环境条目名(如 vgj.nls.code)对每个会话元素只能出现一次。如果环境条目已存在,则 EGL 将更新条目类型和值,而不是创建新条目。

EGL 决不会从部署描述符中删除环境条目。

对于 sessionBeanID,没有缺省值可用。

相关参考
构建描述符选项

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.