删除流程实例

执行本任务的原因和时间

如果在流程模型中为流程模板设置了相应的属性,就会自动地从业务流程编排器数据库中删除已完成的流程实例。

您可能想将流程实例保留在数据库中,例如,这样就可以查询未写入审计日志的流程实例数据,或者将流程的删除工作推迟到非高峰期进行。但是,不再需要的流程实例数据会影响磁盘空间和性能。因此,应该定期地删除流程实例数据。要删除流程实例,您需要具有流程管理员权限,并且该流程实例必须是顶级流程实例。

以下示例说明如何删除所有已完成的流程实例。

本任务的步骤

  1. 列示已完成的流程实例。
    QueryResultSet result = 
         process.query("DISTINCT PROCESS_INSTANCE.PIID",
                       "PROCESS_INSTANCE.STATE = 
                                PROCESS_INSTANCE.STATE.STATE_FINISHED", 
                        null, null, null);

    此操作将返回一个查询结果集,该结果集列示了已完成的流程实例。

  2. 删除已完成的流程实例。
    while (result.next() )
    {
    	  PIID piid = (PIID) result.getOID(1);
    	  process.delete(piid);
    }
    此操作将从数据库中删除选择的流程实例。
相关概念
对业务流程以及与任务相关的对象执行的查询

使用条款 |


(c) Copyright IBM Corporation 2005, 2006.
本信息中心基于 Eclipse 技术(http://www.eclipse.org)。