使用堆栈跟踪和消息终止工作流

Terminate workflow with stacktrace and message

我有一个工作流程步骤,如果发生任何错误,我想使用堆栈跟踪终止整个工作流程。

@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) {
            workflowSession.terminateWorkflow(workItem.getWorkflow());          
        }
    }
}

如何将 stacktrace/error 消息放入终止的工作流?

由于不时有维护工作清理工作流,我建议根本不要将 staktraces 写入工作流。有一些选项,例如,您可以添加注释或仅向节点添加属性,...但我建议将内容记录在错误日志中,并且 - 如果需要 - 生成邮件...

BR, 奥利弗