工作管理器充当使用 Concurrency Utilities for Java™ EE 或异步 Bean 的应用程序组件的受管执行程序 (线程池) ,线程工厂和线程上下文服务。 使用管理控制台配置工作管理器。
准备工作
如果您不熟悉工作管理器,那么请参考“工作管理器”概念性主题。
有关此任务
工作管理器服务已启用。 在先前版本的产品中,可以使用管理控制台或配置服务禁用工作管理器服务。 工作管理器服务配置对象仍然存在于配置服务中,但是忽略了启用的属性。
可以为每个单元定义多个工作管理器。 每个工作管理器都绑定到 Java 命名和目录接口 (JNDI) 名称空间中的唯一位置。
重要信息: 仅在 Enterprise JavaBeans (EJB) 容器或 Web 容器中支持工作管理器服务。 不支持从 Java Platform, Enterprise Edition (Java EE) 应用程序客户机容器查找和使用配置的工作管理器。
过程
- 启动管理控制台。
- 选择 。
- 指定 作用域 值,然后单击 新建。
- 指定工作管理器设置的必需属性。
- 作用域
- 已配置的资源的作用域。 此值指示配置文件的位置。
- 名称
- 工作管理器的显示名称。
- JNDI 名称
- 工作管理器的 Java 命名和目录接口 (JNDI) 名称。 资源环境引用可以与此名称绑定,并由必须查找工作管理器的组件使用。 每个工作管理器必须具有在单元中唯一的 JNDI 名称。
- 警报线程数
- 对于专门用于处理警报及安排在特定时间点运行的工作的独立线程池,使用的最大线程数。 工作管理器将监视暂挂的警报及已调度工作,并将它们分派到此线程池。
注: 您为此属性指定的警报线程数不会影响您为 "最小线程数" 和 "最大线程数" 属性指定的线程数。 “警报线程数”属性仅适用于警报线程的线程池。 “最小线程数”和“最大线程数”属性仅适用于用于处理工作请求的主要线程池。
- 最小线程数
- 应用于主线程池,该线程池用于处理提交到工作管理器以便立即运行(而非安排在特定时间点运行)的工作。 线程池中根据需要创建并要保留的线程数。
- 最大线程数
- 应用于主线程池,该线程池用于处理提交到工作管理器以便立即运行(而非安排在特定时间点运行)的工作。 要在线程池中创建的最大线程数。 选中“可增加的”复选框时,可以临时执行最大线程数。 当这些额外线程上的工作完成后,线程将被废弃。
- 线程优先级
- 要对该线程池中所有线程以及受管线程工厂所创建的所有线程指定的优先级。
每个线程都具有优先级。 高优先级线程将在低优先级线程之前运行。 有关如何使用线程优先级的更多信息,请参阅 Java Standard Edition 规范中 java.lang.Thread 类的 setPriority 方法的 Javadoc。
- [可选] 指定工作管理器的“描述”和“类别”。
- [可选] 选择服务名称(为 Java EE 组件提供的线程上下文类型),您希望此工作管理器从提交线程(或从查找或注入受管线程工厂的线程)捕获这些服务名称并在执行线程时提供这些服务名称。 所选服务的列表也已知为工作管理器的“粘性”上下文策略。
- [可选] 选择 定制属性> 新建。
其他可选字段包含:
- 名称
- lateWorkTime
- 值
- 秒数
- 描述
- 指定描述
- 类型
- 选择 java.lang.String
lateWorkTime 定制属性是一个秒数,超过此秒数后,后开始的工作必定会导致记录参考消息。 会针对每个工作管理器记录该参考消息。 缺省值是
60 秒,值 0 会禁用此属性。
- 名称
- lateAlarmTime
- 值
- 秒数
- 描述
- 指定描述
- 类型
- 选择 java.lang.String
lateAlarmTime 定制属性是一个秒数,超过此秒数后,后触发警报必定会导致记录参考消息。 会针对每个工作管理器记录该参考消息。 缺省值为 5 秒,值 0 会禁用此属性。
- 保存配置。
结果
现在工作管理器已配置,必须管理异步代码启动的应用程序组件可以访问它。