EJB 容器系统属性

除了可以从管理控制台中访问的设置以外,还可以使用命令行脚本编制来设置 EJB 系统属性。

com.ibm.websphere.ejbcontainer.allowEarlyInsert

此属性只适用于容器管理的持久性 (CMP) 1.1 Bean。缺省情况下,只有在调用了方法 ejbPostCreate(...) 后,EJB 容器才会在数据库中创建实体 Bean 说明。

支持的配置 支持的配置: CMP Bean 在 EJB 3.x 模块中不受支持。sptcfg

某些应用程序可能利用方法 ejbCreate(...) 在数据库中创建了实体 Bean。对于这样的需求,将 JVM 属性 com.ibm.websphere.ejbcontainer.allowEarlyInsert 设置为 True 将覆盖缺省行为。

com.ibm.websphere.ejbcontainer.checkEJBApplicationConfiguration

指定服务器范围的设置,该设置指示容器应该完成附加的应用程序配置验证,以确保应用程序符合 Java™ Platform Enterprise Edition (Java EE) 规范。

支持的配置 支持的配置: 还可以将此属性指定为应用程序定制属性。sptcfg

此属性旨在供应用程序开发期间使用,以帮助确定不正确的配置,这些配置可能导致意外行为。例如,将 javax.ejb.Asynchronous 注释应用于接口不受该规范支持,通常会被忽略。启用此属性时,将记录一个错误,并且处理 Bean 时会发生异常。此故障在开发期间很有用,可用于了解方法无法以异步方式工作的原因。

启用此属性时,会完成额外的配置验证并可能导致记录多个配置警告和错误。此附加验证一般针对运行导致额外开销的情况,是生产服务器上稳定的应用程序所必需的。对于轻微偏离规范的情况,只会记录警告。对于较严重的问题,会记录错误,并且在更正错误之前,应用程序无法运行。

避免故障 避免故障: 当启用了 com.ibm.websphere.ejbcontainer.checkEJBApplicationConfiguration 属性时,报告为警告的一些问题显示为错误,他们会阻止应用程序启动。gotcha
支持的配置 支持的配置: 为开发方式配置的可嵌入容器和服务器会执行与此属性相关联的附加验证;但是,除非特地启用了此属性,否则会将所有标识的问题报告为警告而不是错误。sptcfg

com.ibm.websphere.ejbcontainer.declaredUncheckedAreSystemExceptions

此属性可让您指出是应该将在 EJB 方法的 throws 子句上声明的异常视为应用程序异常还是系统运行时异常。如果将此属性设置为 True,那么会将这些异常视为系统运行时异常,并导致在客户机端发出 EJBException。

如果不指定此属性,或者将此属性设置为 False,那么会将在 EJB 方法的 throws 子句上声明的异常视为应用程序异常。

此属性的缺省值是 false。

转换: 在 V7 中,此属性的缺省值是 true。

com.ibm.websphere.ejbcontainer.defaultSessionAccessTimeout

此属性允许您指定服务器上所有会话 Bean 的缺省会话并行访问超时值。以毫秒为单位指定该值。

请指定一个长整型数据类型值来禁用或启用会话并行。

  • 0 值将禁用会话并行(不等待)。
  • 长整型正值 123 等等)可启用会话并行并将超时值设置为指定的毫秒数。

如果设置了此属性,那么将在服务器范围使用指定的会话 Bean 并行访问超时,而不使用缺省值 -1(永远等待)。这同时适用于有状态的会话 Bean 和独立会话 Bean。 在各个会话 Bean 级别,可以在 Bean 类或方法上通过使用 @AccessTimeout 注释,或通过使用访问超时部署描述符元素来覆盖该超时。

com.ibm.websphere.ejbcontainer.defaultStatefulSessionTimeout

对有状态会话 Bean 指定服务器范围的超时,该超时指示服务器保留有状态会话 Bean 的时间。

支持的配置 支持的配置: 该属性仅适用于 EJB 3.1 模块和更高版本的模块。sptcfg

这是一个系统属性,可以将其直接添加到 server.xml 文件,也可以使用管理控制台添加该属性作为通用 JVM 参数。

将以分钟为单位(唯一有效的单位)指定该属性。缺省值为 10 分钟。值 0 指示服务器使用缺省值 10 分钟。负值无效。0 或任何更大的值有效。如果指定了无效值,那么会对 SystemOut 发出一个警告,并且将使用缺省值。

可以使用注释或 xml 逐个 Bean 地指定有状态会话 Bean 超时持续时间。如果显式指定了特定 Bean 的超时持续时间,那么此持续时间优先于服务器范围的任何超时设置。

如果特定 Bean 不存在任何特定于 Bean 的超时持续时间,那么将对该 Bean 应用服务器范围的超时设置。

如果特定 Bean 不存在任何特定于 Bean 的超时持续时间,并且服务器范围的超时设置也不存在,那么将对该 Bean 应用缺省超时设置。

com.ibm.websphere.ejbcontainer.EE5Compatibility

指定服务器范围的设置,该设置指示 EJB 容器提供与 Java Enterprise Edition (Java EE) 5.0 规范一致的缺省行为。

这是一个系统属性,可以将其直接添加到 server.xml 文件,也可以使用管理控制台添加该属性作为通用 JVM 参数。

Java EE 规范包括对 EJB 编程模型的一些改进,这些改进已导致对某些缺省行为有细微的更改。一般来说,这些更改提供了更直观或更可靠的行为。然而,如果某一应用程序经过编写后依赖于一个或多个 Java EE 5.0 行为,那么可以设置此系统属性来将 EJB 容器还原到 Java EE 5.0 缺省行为。

将此属性设置为 true 会覆盖下列行为:

  • 不继承 @ApplicationException 注释。从 Java EE 6.0 规范开始,@ApplicationException 注释的缺省行为已更改,这表示子类异常类将继承该注释。指定了此系统属性后,子类异常类将不继承 @ApplicationException 注释。或者,您可以更改 @ApplicationException 声明以指定“inherited=false”。
  • 将禁止对有状态会话 Bean 进行并行访问,该访问会导致发生 javax.ejb.ConcurrentAccessException 异常。从 Java EE 6.0 规范开始,有状态会话并行性的缺省行为已更改为允许进行并行访问,但每个并行请求将由容器进行串行化,以阻止在可以获得实例锁定之前对 Bean 进行无限期的访问。指定了此系统属性后,所有未指定显式访问超时值的有状态会话 Bean 将采用缺省访问超时值 0(Java EE 5.0 缺省值)。或者,可以修改有状态会话 Bean 以定义访问超时值 0。
  • 会将 Java 类型、类和 Enum 的任何子类视为资源环境引用而不是简单的环境条目。从 Java EE 6.0 规范开始,已将 Java 类型、类和 Enum 的任何子类添加至受支持的简单环境条目类型集中。在 Java EE 先前版本中,将这些类型视为资源环境引用,并且需要在 ibm-ejb-jar-bnd.xml 文件或 ibm-web-bnd.xml 文件中进行绑定。现在,支持将这些数据类型用作简单环境条目,不再需要特定于平台的绑定。取而代之,您可以直接在部署描述符中指定值。指定此系统属性时,会将使用 Java 类型、类和 Enum 的任何子类的 javax.annotation.Resource 注释的应用程序视为资源环境引用,引用的值将使用绑定文件信息来获取。安装应用程序不受此属性影响,因此在安装期间不用输入绑定信息。而您必须在绑定文件中手动输入绑定信息。

com.ibm.websphere.ejbcontainer.EE6Compatibility

指定服务器范围的设置,该设置指示 EJB 容器提供与 Java Enterprise Edition (Java EE) 6.0 规范一致的缺省行为。

这是一个系统属性,可以将其直接添加到 server.xml 文件,也可以使用管理控制台添加该属性作为通用 JVM 参数。

Java EE 规范包括对 EJB 编程模型的一些改进,这些改进已导致对某些缺省行为有细微的更改。一般来说,这些更改提供了更直观或更可靠的行为。但是,如果某一应用程序经过编写后依赖于一个或多个 Java EE 6.0 行为,那么可以设置此系统属性来将 EJB 容器还原到 Java EE 6.0 缺省行为。

将此属性设置为 true 可避免忽略 @Local 和 @Remote 注释,即使是使用空值在 Bean 类中指定这些注释以及指定了其他业务接口的情况下也是如此。如果未指定此属性,而在 Bean 类中指定了这些注释,那么除非出现下列情况,否则这些注释会导致将 implements 子句中的接口视为本地或远程业务接口:

  1. ejb-jar.xml 文件中指定了 <business-local>、<business-remote> 或 <local-bean> 接口。
  2. 在 Bean 类中指定了 @LocalBean 注释。
  3. 在 implements 子句中的接口类中指定了值为空的 @Local 或 @Remote 注释。

如果指定了此属性,那么仍然可以将 implements 子句中的单个接口视为本地或远程业务接口,即使使用了其中一个指定也是如此。您可以除去值为空的 @Local 或 @Remote 注释并改为使用其他某个选项,而不是设置此属性。

com.ibm.websphere.ejbcontainer.excludeRootExceptionOnRollback

缺省情况下,EJB 容器将设置事务回滚期间发生的异常的根本原因。如果此属性设置为 true,那么 EJB 容器将不会设置根本原因。如果应用程序不要求找出原因,或者应用程序会记录异常并且现在正在记录明显更多的数据,那么将此属性设置为 true 很有用。

com.ibm.websphere.ejbcontainer.extendSetRollbackOnlyBehaviorToInstanceFor

此属性允许用户指定应用程序名称;在该应用程序中,用户想让他们的 EJB 3.x 模块中的 EJB 演示 EJB 3.0 之前的 setRollbackOnly 行为。

EJB 3.0 之前的 setRollbackOnly 行为在更改应用程序使其具有 WebSphere“特定版本”的 setRollbackOnly 行为中描述。

com.ibm.websphere.ejbcontainer.limitSetRollbackOnlyBehaviorToInstanceFor

此属性允许用户指定应用程序名称;在该应用程序中,用户想让他们的 EJB 3.x 模块中的 EJB 演示 EJB 3.x setRollbackOnly 行为。

EJB 3.x setRollbackOnly 行为在更改应用程序使其具有 WebSphere“特定版本”的 setRollbackOnly 行为中描述。

com.ibm.websphere.ejbcontainer.poolSize

为指定的 Bean 类型指定池的大小。此属性应用于无状态 Bean、消息驱动的 Bean 和实体 Bean。如果您未指定缺省值,那么将使用容器缺省值 50 和 500。

按如下所示为给出的实体 Bean 设置池大小:
beantype=[H]min,[H]max [:beantype=[H]min,[H]max...]

beantype 元素是 Bean 的 Java EE 名称,由应用程序名称、# 字符、模块名称、# 字符和 Bean 的名称(即对 Bean 的部署描述符中 <ejb-name> 字段指定的字符串)连接而成。minmax 元素是该 Bean 类型的最小和最大池大小。不要指定前一个原型中显示的方括号;他们表示您可在第一个 Bean 类型之后指定的其他可选 Bean 类型。指定的每个 Bean 类型由冒号 (:) 定界。

使用星号 (*) 作为 beantype 的值,以表示所有 Bean 类型都将使用那些值,除非那些值已被字符串中其他地方指定的确切 Bean 类型覆盖;例如:
*=30,100
要指定缺省值,请省略 minmax 值,但保留这两个值之间的逗号 (,);例如:
注: 为了出版方便,以下示例分成多行显示。
SMApp#PerfModule#TunerBean=54,
   :SMApp#SMModule#TypeBean=100,200

您可在字符串中以任何顺序指定 Bean 类型。

通过直接在 max 值前面插入字符 H,可以将配置的最大 EJB 池大小指定为一个硬限制。如果没有 H 字符,那么最大值指示可以合用的 EJB 实例数,但不限制可以创建或正在使用的 EJB 实例数。在 max 值前面插入 H 字符指示该值是一个硬限制,在达到该限制后,EJB 容器会阻止创建更多实例。必须等到实例可用或事务超时后才能创建更多线程。

通过直接在 min 值前面插入字符 H,可以将配置的最小 EJB 池大小指定为一个硬限制。如果没有 H 字符,那么最小值指示在未使用 EJB 类型时池中维护的 EJB 实例数,但在启动应用程序时不会预装入该池。通常,要在应用程序同时访问了最小数目的 EJB 实例后,才达到最小池大小。在 min 值前面插入 H 字符指示该值是一个硬限制,并且在启动应用程序时,EJB 容器将在池中预装入最小数目的 EJB 实例。

例如,如果您要指示创建少于 200 个的 EJB 实例,并且其他请求必须等待一个实例,而且等待过程中可能会超时,请输入:
SMApp#SMModule#TypeBean=100,H200
如果您要指示在启动应用程序时,EJB 容器在池中预装入最少 100 个 EJB 实例,请输入:
SMApp#SMModule#TypeBean=H100,200
支持的配置 支持的配置: 硬限制指示符仅适用于 EJB V2.0 或更高版本的无状态会话 Bean。sptcfg

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_ecnt
文件名:rejb_ecnt.html