
使用插件对人员查询结果进行后处理
Business Process Choreographer 中的人员解析将返回已分配给特定角色的用户的列表,例如,任务的潜在所有者。您可以创建用于更改人员解析所返回的人员查询结果的插件。 例如,为了改进工作负载均衡,您可以从查询结果中移除已经拥有高工作负载的用户。
关于此任务
要修改人员分配和人员替换所返回的结果,您必须编写用于实施插件接口的类,汇编插件的 JAR 文件,然后对插件进行安装和激活。
完成以下步骤以创建用于对人员查询结果进行后处理的插件。
过程
- 实施人员查询结果后处理插件。 编写用于实施 StaffQueryResultPostProcessorPlugin 接口或 StaffQueryResultPostProcessorPlugin2 接口的类。
- 创建可安装的 JAR 文件。
- 将插件类及其助手类汇编到 JAR 文件中。
- 在 JAR 文件的 META-INF/services/ 目录中为插件创建服务提供程序配置文件。配置文件提供用于识别和装入插件的机制。该文件必须符合 Java™ EE 服务提供程序接口规范。
- 在文本编辑器中,创建名为 com.ibm.task.spi.plug-in_nameStaffQueryResultPostProcessorPlugin 的服务提供程序配置文件,其中 plug-in_name 是插件的名称。此配置文件的名称并不取决于已实施的接口的名称。例如,如果插件名为 MyHandler 并且其实施 com.ibm.task.spi.StaffQueryResultPostProcessorPlugin2 接口,那么此配置文件的名称为 com.ibm.task.spi.MyHandlerStaffQueryResultPostProcessorPlugin。
- 在此文件的第一个既非注释行(以数字符号 (#) 开头的行)也非空白行的行中,指定已在步骤 1 中创建的插件类的标准名称。例如,如果插件类名为 StaffPostProcessor,并且其在 com.customer.plugins 包中,那么此配置文件的第一行必须包含以下条目:com.customer.plugins.StaffPostProcessor。
- 将此 JAR 文件安装到应用程序服务器内的共享库中,并将其与人员任务管理器应用程序关联。
- 在配置了 Business Process Choreographer 的服务器或集群的作用域内,为此插件定义 WebSphere® Application Server 共享库。 有关如何使用共享库的更多信息,请参阅相关任务链接。
- 将此共享库与 TaskContainer 应用程序关联。
- 使插件 JAR 文件可用于托管服务器或集群成员的每个受影响 Process Server。
- 配置人员任务管理器以使用此插件。
- 在管理控制台中,转至人员任务管理器的“定制属性”页面。
单击服务器 > 集群 > WebSphere Application Server 集群 > cluster_name,然后在配置选项卡上的 Business Process Manager 部分中,展开 Business Process Choreographer,并单击人员任务管理器。在其他属性下,选择定制属性。
- 添加名为 Staff.PostProcessorPlugin 的定制属性,以及您已为插件提供的名称的值,例如 MyHandler。
- 在管理控制台中,转至人员任务管理器的“定制属性”页面。
- 重新启动服务器以激活该插件。 将在人员分配和人员替换均已运行后调用此后处理插件。
注: 如果修改该插件,那么必须替换共享库中的 JAR 文件,并重新启动服务器。
人员查询结果后处理插件
使用人员查询结果后处理插件服务提供程序接口 (SPI) 可创建用于更改所返回人员查询结果的插件。例如,为了改进工作负载均衡,您可以拥有一个插件,此插件用于从查询结果中移除已经具有高工作负载的用户。
使用 StaffQueryResultPostProcessorPlugin2 接口开发插件
StaffQueryResultPostProcessorPlugin2 接口为如下情况提供更佳的性能:后处理将对基于同一任务模板的所有任务实例或升级实例间的特定任务角色或升级角色生成同一结果。
使用 StaffQueryResultPostProcessorPlugin 接口开发插件
StaffQueryResultPostProcessorPlugin 接口允许您修改人员查询结果。 此接口不提供用于 StaffQueryResultPostProcessorPlugin2 接口的性能优化。
父主题:
创建插件以定制任务任务功能
创建插件以定制任务任务功能相关任务:
