发布带子流程的流程遇到的有关问题
发布带子流程的流程遇到的问题
现有的JBPM与spring整合后在发布带子流程的流程时候,会遇到找不到子流程的问题,在追踪了JBPM的源码后发现问题最终出在
org.jbpm.graph.def.ProcessDefinition.DbSubProcessResolver中,它使用了不推荐的方法
JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
来得到JbpmContext,这时的JbpmContext里是没有Session的,因为没有提供默认的hibernate.cfg.xml配置,好在ProcessState类提供了setDefaultSubProcessResolver方法容许我们使用自己的SubProcessResolver接口实现来替换默认的实现DbSubProcessResolver,接下来就简单了,使用与spring整合后提供的JbpmContext来实现这个接口
现有的JBPM与spring整合后在发布带子流程的流程时候,会遇到找不到子流程的问题,在追踪了JBPM的源码后发现问题最终出在
org.jbpm.graph.def.ProcessDefinition.DbSubProcessResolver中,它使用了不推荐的方法
JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
来得到JbpmContext,这时的JbpmContext里是没有Session的,因为没有提供默认的hibernate.cfg.xml配置,好在ProcessState类提供了setDefaultSubProcessResolver方法容许我们使用自己的SubProcessResolver接口实现来替换默认的实现DbSubProcessResolver,接下来就简单了,使用与spring整合后提供的JbpmContext来实现这个接口