【EAS工作流】常见问题-单据提交不进流程排查思路(请排查到最后谢谢)原创
金蝶云社区-汪伟康
汪伟康
8人赞赏了该文章 1,302次浏览 未经作者许可,禁止转载编辑于2024年11月26日 16:14:13
summary-icon摘要由AI智能服务提供

本文介绍了单据未进入流程时的排查方法。包括后台事务心跳不正常、没有工作流模块许可的排查,单据提交未进流程的一般排查步骤,如通过单据id在流程引擎日志中搜索错误日志,检查后台事务监控,以及查看workflow.log日志等方法,并给出了一个常见问题举例及解决建议。

  • 所有单据都不进流程看这里:

情况1后台事务心跳不正常

排查方法:

查询分析器执行sql:select * from t_job_service;

image.png


情况2、没有工作流模块的许可

排查方法:

eas客户端【流程引擎日志】中 可通过 描述 类似 单据id 搜索是否有相关错误日志,如"没有工作流的license has no BPM license!"


  • 部分单据不进流程看这里

单据提交没有进流程,一般排查方法:

1、拿到单据id


2、在eas客户端【流程引擎日志】中  可通过描述类似 单据id搜索是否有相关错误日志,有则看报错就可以知道原因。

image.png


案例:如下图,该报错描述就是指匹配不到满足条件流程,包括两方面(1、流程启动条件 2、第一个节点的参与人

image.png


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"。

如:

image.png

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

image.png


解决建议:工作流服务开启方法代码参考如下

if(!WfEventListenerStateManager.getInstance().isEnable()){
    WfEventListenerStateManager.getInstance().enableEventListener();
}

.....下面是调用业务单据的最终提交方法


图标赞 8
8人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!