`
yingfang05
  • 浏览: 122583 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

EJB3在部署描述中声明环境条目

    博客分类:
  • ejb3
阅读更多
Bean 提供者必须声明从企业bean 代码中访问的所有环境条目。这些环境条目通过在bean 类代码中使用注释符或在部署描述中使用env-entry 元素来声明。
每个env-entry 描述了一个环境条目。它由一个可选的环境条目描述、相对于java:comp/env 的环境条目名称、期望的环境条目值的类型(也就是,从EJBContext 或JNDI 的lookup 方法返回的对象的类型)和一个可选的环境条目值组成。
环境条目的范围是企业bean,它的部署描述元素要包含给定的env-entry 元素。这意味着在运行时其他企业bean 是不能获取这些环境条目的,且其他企业bean 也可以使用相同的env-entry-name 而不会引起命名冲突。
如果Bean 提供者使用env-entry-value 元素为环境条目提供了它的值,那么这个值可以在以后被应用组装者或部署者改变。这个值必须是一个有效的字符串(有效指的是可以使用类型的带单个String 参数的构造器来构造出相应的类型),或者对于java.lang.Character 来说,是一个字符。
下面的例子是声明由EmployeeServiceBean 使用的环境条目。
<enterprise-beans>
<session>
...
<ejb-name>EmployeeService</ejb-name>
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
...
<env-entry>
<description>
The maximum number of tax exemptionsallowed to be set.
</description>
<env-entry-name>maxExemptions</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>15</env-entry-value>
</env-entry>
<env-entry>
<description>
The minimum number of tax exemptions
allowed to be set.
</description>
<env-entry-name>minExemptions</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/name1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>value1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/bar/name2</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>true</env-entry-value>
</env-entry>
<env-entry>
<description>Some description.</description>
<env-entry-name>name3</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>foo/name4</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>10</env-entry-value>
</env-entry>
...
</session>
</enterprise-beans>
...
环境条目的注入也可以使用部署描述来指导,而不需要java 语言的注释符。
下面是对应的环境条目的声明。
<enterprise-beans>
<session>
...
<ejb-name>EmployeeService</ejb-name>
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
...
<env-entry>
<description>
The maximum number of tax exemptionsallowed to be set.
</description>
<env-entry-name>
com.wombat.empl.EmployeeService/maxExemptions
</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>15</env-entry-value>
<injection-target>
<injection-target-class>
com.wombat.empl.EmployeeServiceBean
</injection-target-class>
<injection-target-name>
maxExemptions
</injection-target-name>
</injection-target>
</env-entry>
<env-entry>
<description>
The minimum number of tax exemptionsallowed to be set.
</description>
<env-entry-name>
com.wombat.empl.EmployeeService/minExemptions
</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>1</env-entry-value>
<injection-target>
<injection-target-class>
com.wombat.empl.EmployeeServiceBean
</injection-target-class>
<injection-target-name>
minExemptions
</injection-target-name>
</injection-target>
</env-entry>
...
</session>
</enterprise-beans>
...
除了在代码中指定缺省值外,将字段作为注入目标通常都是方便的。如下例解释的一样:
// The maximum number of tax exemptions, configured by the Deployer.
@Resource int maxExemptions = 4; // defaults to 4
为了支持这种情况,如果应用组装者或部署者已经指定了一个值覆盖了缺省值,那么容器必须只注入环境条目的值。当注入目标被指定时,在部署描述中的env-entry-value 元素是可选的。如果没有指定,则不注入值。另外,如果没有指定,命名的资源在命名上下文中不被初始化,且显式查找命名资源将会失败。
分享到:
评论

相关推荐

    部署描述文件web.xml配置详解.doc

    在Java Web开发中,`web.xml`是一个非常重要的配置文件,它作为Web应用程序的部署描述符,负责管理与应用程序相关的各项配置信息。本文将深入解析`web.xml`的各项元素及其作用,帮助开发者更好地理解并利用这一配置...

    web.xml中标签详解

    web.xml 文件中包含了一些基本的元素,用于描述 Web 应用程序的结构和配置。 1. `&lt;context-param&gt;` 元素 `&lt;context-param&gt;` 元素用于声明应用范围内的初始化参数。它可以包含多个 `&lt;param-name&gt;` 和 `...

    TongWeb6.0应用开发手册.pdf

    - 可以在部署描述符中声明数据源,并在SessionBean中使用JNDI查找它。 ##### 2.5 对weblogic-ejb-jar.xml的支持 - `weblogic-ejb-jar.xml`是WebLogic服务器特定的部署描述符。 - 它包含了EJB配置的扩展属性,例如...

    Apache Geronimo配置文件geronimo-web.xml各个标签的讲解

    对于依赖于第三方库或服务器上其他服务的应用,`geronimo-web.xml`中可以声明这些依赖,以确保它们在部署时能正确解析和加载。 综上所述,`geronimo-web.xml`是Geronimo部署Web应用的关键组件,它为开发者提供了一...

    javaee-descriptors:JavaEE描述符

    在JavaEE应用开发中,描述符用于提供配置信息,使开发者能够声明式地管理应用程序的行为,而无需编写大量硬编码逻辑。这些描述符文件通常包括Web应用的web.xml、EJB的ejb-jar.xml、以及应用上下文的application.xml...

    MDBSwtichHandle.java

    9. **部署配置**:在实际部署中,需要在应用服务器的配置文件中声明MDB,指定消息监听的JMS目的地和相应的消息类型。 由于缺乏具体的代码或博客内容,以上都是基于常见场景的推测。对于更深入的理解,最好能访问到...

    web.xml配置详解

    web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中...

    web.xml详解(web-app_2_3.dtd)

    在Java Web开发中,`web.xml`是部署描述文件的核心部分,它定义了Web应用程序的各种配置信息。本文将详细解析`web-app_2_3.dtd`中定义的主要元素及其作用,帮助开发者更好地理解和应用这些配置。 #### 1. `icon`...

    XML配置详解

    - **`&lt;env-entry&gt;`**:声明Web应用的环境项,例如JNDI条目等。 - **示例**: ```xml &lt;role-name&gt;admin &lt;env-entry-name&gt;myDB &lt;env-entry-value&gt;java:comp/env/jdbc/myDB &lt;env-entry-type&gt;javax.sql....

    java术语 it术语

    在计算机领域中,“方言”一词有时用于描述针对特定目的或环境定制的编程语言或语法变体。 #### Directive 指令是指在程序中用于控制编译器或解释器行为的特殊命令。在 Java 中,例如 Java 注解就可以被视为一种...

    S2结业机试-Leave.zip

    3. **MVC(Model-View-Controller)模式**:在JavaWeb开发中,MVC模式是常见的架构模式,用于分离业务逻辑(Model)、用户界面(View)和控制流程(Controller)。 4. **JSTL(JavaServer Pages Standard Tag ...

    购物车J2EE实训报告

    - **web.xml**:Web应用程序部署描述符,配置了Web容器所需的各项设置。 #### 核心代码分析 以`BrowsCatelog.jsp`为例,该页面主要用于展示商品目录。代码中首先包含了导入必要的包声明,如`dao.transfer.*`、`...

    ava

    在Java中,"main"方法是程序执行的起点,声明为`public static void main(String[] args)`的形式。 结合以上信息,我们可以探讨以下知识点: 1. **Java基础**:Java的基本语法、类与对象、封装、继承、多态等面向...

Global site tag (gtag.js) - Google Analytics