EJB 异步方法设置

使用此页面来修改 Enterprise JavaBeans 异步方法的支持中使用的工作管理器的设置。

要查看此管理控制台页面,请单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > EJB 容器设置 > EJB 异步方法调用设置

“使用内部工作管理器实例”和“使用定制工作管理器实例”选项是互斥的

将此工作管理器用于异步方法

指定缺省工作管理器实例。

产品提供了一个内部工作管理器实例以支持 EJB 异步方法。内部工作管理器实例进行了预配置以便具有基本 EJB 异步方法功能,并提供了有限的配置设置。

单击此按钮将指定您要使用内部工作管理器实例来管理异步方法调用。选择此选项将排除“使用定制工作管理器实例”选项。

“使用内部工作管理器实例”选项是缺省选项。或者,可以使用已定义的定制工作管理器实例。

使用定制工作管理器实例

指定已定义的定制工作管理器实例。

通过定义一个定制工作管理器实例,可以为 EJB 异步方法提供更高级的配置。

选择此选项将允许您使用您已定义并以最适合于环境的方式进行了配置的工作管理器实例。

选择此选项将排除“使用内部工作管理器实例”选项。

最大线程数

指定异步 EJB 方法执行过程中使用的最大线程数。缺省值为 5。

工作请求队列大小

指定工作请求队列的大小。工作请求队列是一个缓冲区,它存放已请求的异步方法,直到有线程来运行这些方法为止。缺省值是 0,表示初始大小是最小线程数与最大线程数的折衷。

最大线程数与工作请求队列大小属性之和是允许的进行中的方法请求总数。

例如,如果最大线程数已设置为 5 个线程,并且工作请求队列大小已设置为 50,那么允许的进行中的方法请求总数是 55。

缺省值是 0,表示队列大小由运行时环境进行管理。运行时当前使用 20 与 maxThreads 之间的较大者。

工作请求队列满操作

指定线程池用尽并且工作请求队列已满时执行的操作。缺省值为 BLOCK。

如果设置为 FAIL,那么将发生异常,而不是等待某个线程或队列中的某个位置变为可用。

您可以在开发期间使用此选项,以帮助标识长时间运行的异步方法导致的错误。您还可以使用它来帮助确定应该配置的线程数和队列大小。

如果设置为 BLOCK,那么正在请求执行异步方法的线程将等待,直到某个线程或队列中的某个位置变为可用为止。

工作管理器 JNDI 名称

指定用于在名称空间中查找已定义的定制工作管理器的 Java™ 命名和目录接口 (JNDI) 名称。

远程 future 对象持续时间

指定服务器保留每个触发并返回结果异步方法调用的 future 对象的时间量。如果应用程序未在指定的时间段内检索这些结果,那么服务器将清除该方法调用的结果以防止内存泄漏和潜在的 OutOfMemory 异常。您可以指定 0 以便永不清除对象;然而,指定零值意味着 future 对象永远不会超时,并且禁用针对编写不正确的程序(它可能会导致所提到 OutOfMemory 异常)的保护。缺省值为 86400 秒(24 小时)。

避免故障 避免故障: 如果您针对 future 对象调用 get() 或 get(time) 方法,那么可能会降低性能,因为可能会出现阻塞,直到工作完成或者指定的时间过去为止。因此,要避免 get(..) 方法上发生阻塞,请调用 isDone() 方法,它会立即返回。然后在 isDone() 方法返回 true 之后调用 get() 方法。gotcha
支持的配置 支持的配置: 此值仅适用于使用远程业务接口调用企业 Bean 的客户机,此值未用于本地业务接口或非接口视图。完成异步工作后,服务器会在对服务器端 future 对象指定的持续时间内设置一个警报。激活该警报时,服务器将释放所有与 future 对象相关联的资源,从而使该对象不可用于客户机。如果客户机在持续时间量之前对 future 对象调用 get() 方法,那么将取消该警报并释放所有与 future 对象相关联的资源。sptcfg

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



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