1、拿到单据id
2、在eas客户端【流程引擎日志】中 可通过描述类似 单据id搜索是否有相关错误日志,有则看报错就可以知道原因。
案例:如下图,该报错描述就是指匹配不到满足条件流程,包括两方面(1、流程启动条件 2、第一个节点的参与人)
3、如果2中没有搜到则打开【后台事务监控】,过滤条件为 标题类似单据id,看能否查到对应的后台事务,如果查到了看是否是已失败,如果是已失败,就双击点开可以看到报错信息,拷贝完整报错信息给到工作流模块老师分析(排查到是这种情况则下面的步骤就不用再看了,否则继续排查)。
4、如果2和3中都没有查到,则需要排查全实例的workflow.log (跟apusic.log同一路径,即:$EAS_HOME\eas\server\profiles\server*\logs\workflow.log)
需要排查workflow.log日志中是否有单据id,正常单据提交方法执行成功后会进入工作流监听服务,会打印日志类似 "Submit boid:单据id"。
如:
2023/09/07 07:42:36 INFO[WfBizEventListener.executeAfter(WfBizEventListener.java:212)]Submit boid:i/gAAAFmmx8nN3xD botype:27377C43 operation:dfd2c083-00fa-1000-e000-001fc0a813e6
5、因此我们需要收集全实例的workflow.log中是否能搜到单据id,如果搜索不到,那么证明单据提交方法并没有真正提交成功,需对应业务分析。
6、如果搜索到了单据id,那么就要看"Submit boid:单据id"后面的日志来分析,如不清楚可提供相关信息
(收集到的日志+单据id+问题复现具体时间)提单到工作流模块老师分析。
常见问题举例:
日志片段:
2024/05/12 16:43:22 INFO[WfBizEventListener.executeAfter(WfBizEventListener.java:207)]Submit boid:kvYAACq1fKg12S4f botype:35D92E1F operation:dfd2c083-00fa-1000-e000-001fc0a813e6 2024/05/12 16:43:22 ERROR[WfBizEventListener.executeAfter(WfBizEventListener.java:212)]Shocked!!! WfEventListenerStateManager.getInstance().isEnable() = false, boid:kvYAACq1fKg12S4f
解决建议:工作流服务开启方法代码参考如下
if(!WfEventListenerStateManager.getInstance().isEnable()){ WfEventListenerStateManager.getInstance().enableEventListener(); } .....下面是调用业务单据的最终提交方法