记录近期工作中 Activiti 工作流在springboot 2.2.x版本中的 groovy 脚本引擎使用问题“执行脚本时spring上下文丢失(调用类静态方法,涉及springbean)”

 

起因那,是之前一直在跑的业务流程突然在执行脚本哪里全部无效了, 调用流程下一步时一直报空指针异常,本地Debug调试下看到脚本正常执行,但springbean注入为空, 就想之前一直可以注入, 近期相关的代码也无更新,问题发生在哪那?

记录解决思路

①:是否该bean未被初始化, 经测试被初始化,且注入也同样正常

②:是否是静态函数引用时bean引用问题?  切换使用springboot 实现

ApplicationContextAware 调用springContext.getBean()获取, 发现上下文也是空的; 查看springbean的生命周期发现也没销毁;

 

③: 由于耽误了一天, 有点急了, 就想bean注入没问题, 执行脚本没问题, 就上下文没了, 其他接口调用时还可以, 查了相关的groovy资料和他的执行时的源代码发现他有个构造带加载器入参, 然后抱着试试的想法吧调用执行的方法加上了springContext的加载器, ┭┮﹏┭┮ 它好了

你可能感兴趣的:(groovy,脚本引擎,activiti,spring,java)