BPMDeleteOnHoldEMTasks 命令
传统:
此命令将删除处于暂挂状态的事件管理器任务。
事件管理器在 Workflow Server 和 Workflow Center中调度并驱动工作执行。 工作包括调用 Undercover Agent (UCA)、执行业务流程定义 (BPD)、调用 BPD 系统任务实施以及调用 BPD 计时器事件。 可通过事件管理器任务来完成对工作的调度和推动。 当出现异常(如监视器事件队列的队列已满情况)时,将启动任务的重新执行,这会尝试克服该异常。 事件管理器配置设置中指定的 re-execute-limit 属性将确定重新尝试的次数(缺省情况下,设置为 5)。 达到事件管理器任务的该限制之后,就不会再进行尝试。 为防止达到该限制导致 BPD 实例不再继续其浏览并停止响应的情况发生,失败且达到 re-execute-limit 的事件管理器任务将进入暂挂状态。 此类任务会保留在数据库中,但标记为暂挂状态,且通过运行 BPMReplayOnHoldEMTasks 命令可重新安排在未来运行,或通过 BPMDeleteOnHoldEMTasks 命令可将其删除。
有关列出和重播暂停的事件管理器任务的信息,请参阅 BPMListOnHoldEMTasks 命令和 BPMReplayOnHoldEMTasks 命令。
例如,如果启用了监视,并且 Workflow Server 生成的监视事件数超过了可以足够快地处理的事件数,那么队列将填满并导致队列已满的情况。 尝试发出监视器事件的 BPD 事务将失败并被回滚。 将重试受影响的事件管理器任务,直到达到事件管理器的 re-execute-limit,并且在达到 re-execute-limit 之前尝试的任何事件管理器任务将被标记为暂挂。
BPMDeleteOnHoldEMTasks 命令是使用 wsadmin 脚本编制客户机的 AdminTask 对象运行的。
先决条件
- 在网络部署环境中,必须在包含用于处理 Workflow Server 或 Workflow Center 应用程序的应用程序集群成员的节点上运行此命令。 请勿从 Deployment Manager 概要文件运行此命令。
- 在网络部署环境中,可以从任何集群成员运行此命令。 但是,首先必须与要从中运行该命令的集群成员的 SOAP 端口建立 wsadmin 会话。
- 在已连接方式下运行此命令,即,不使用 wsadmin
-conntype none选项。 - 要访问 wsadmin 命令或 MBean 操作,所使用的标识必须具有 WebSphere® Application Server 操作员角色。 有关角色的信息,请参阅 管理角色 。
位置
从要连接到的应用程序集群成员的 profile_root/bin 目录启动命令。 应用程序集群可以位于 Workflow Center 或 Workflow Server 节点上。
命令处理期间所创建的日志位于您连接到的集群成员的 SystemOut.log 文件中。
语法
BPMDeleteOnHoldEMTasks
[-all]
[-ids task_id_list]参数
必须提供以下参数之一:
- -all
- 导致所有暂挂的事件管理器任务被删除。
- -ids 任务标识列表
- 指定要删除的事件管理器任务(暂挂的任务)的标识列表。
示例
wsadmin>print AdminTask.BPMDeleteOnHoldEMTasks(['-all'])输出示例:
The BPMDeleteOnHoldEMTasks command deleted 11 on-hold Event Manager Tasks.
wsadmin>print AdminTask.BPMDeleteOnHoldEMTasks(['-ids', ['9', '8', '7']])
输出示例:
The BPMDeleteOnHoldEMTasks command deleted 1 on-hold Event Manager Task.
The following Event Manager Task(s) could not be deleted because they do not exist: 8.
The following Event Manager Task(s) could not be deleted because they are not on-hold: 7.