Workflow 几分钟后清除工作流

Workflow 几分钟后清除工作流,workflow,aem,Workflow,Aem,我有一个工作流步骤,如果遇到问题,它会抛出带有消息和stacktrace的WorkflowException,实际上会用有效负载阻止整个工作流启动器。最后,工作流将无限期地处于运行状态,并且不会处理被阻止负载的任何更新。这种情况需要管理员操作手动终止工作流 下面是简单工作流的外观: @Service @Component @Properties({ @Property(name = Constants.SERVICE_DESCRIPTION, value = "Workflow"

我有一个工作流步骤,如果遇到问题,它会抛出带有消息和stacktrace的
WorkflowException
,实际上会用有效负载阻止整个工作流启动器。最后,工作流将无限期地处于
运行
状态,并且不会处理被阻止负载的任何更新。这种情况需要管理员操作手动终止工作流

下面是简单工作流的外观:

@Service
@Component
@Properties({
        @Property(name = Constants.SERVICE_DESCRIPTION, value = "Workflow"),
        @Property(name = "process.label", value = "Workflow Step") })
public class WorkflowStep implements WorkflowProcess {

    @Override
    public void execute(WorkItem workItem, WorkflowSession workflowSession, MetaDataMap metaDataMap)throws WorkflowException {       
        try {
            ... doing some stuff ...
        } catch (Exception e) {
            throw new WorkflowException(e.getMessage(), e);
        }
    }
}
我想在2分钟后检查工作流是否已完成,如果未完成-终止它们以取消阻止有效负载,并在将下一个资产上载到此路径后-再次由工作流处理


您知道如何在不使用CRON Scheduler的情况下解决此问题吗?

如果捕获到异常,为什么不立即终止工作流,而不是抛出WorkflowException? 你可以记录任何你想要的,处理错误,然后终止

比尔, 奥利弗