jBPM

jbpm4和spring整合后,怎样取得session用来执行hql

 jbpm4和spring整合后,怎样取得session用来执行hql

怎样通过taskId取得流程实例

在jbpm4.0中的。我把executionId当作processInstanceId会不会出现问题?

//通过taskid取 流程实例
String executionId = pe.getTaskService().getTask(taskid).getExecutionId();
ProcessInstance processInstance = executionService.findProcessInstanceById(executionId);

如果不是这样写。应该怎么做?

jbpm4 怎样取得一个数据库连接用来执行hql或sql

 jbpm4 怎样取得一个数据库连接 用来执行hql或sql

jbpm4 jms

jbpm4 是怎么整合jms的呢,找了jbpm4给的几个文档,没看到有这样的说明或者例子,以前对jms用的很少,不是很懂这东西。

能够提供jbpm4 与jms整合的朋友提供下,在此谢过了。

jbpm4中启动一个流程实例后,怎样直接使他流转到下一步?

  我现在遇到的问题是这样的:

启动一个流程实例时,

ProcessInstance pi = executionService.startProcessInstanceByKey("myflow", variables);

他返回一个ProcessInstance ,同时也产生一个task,

jbpm4中executionId和processInstanceId是否始终相等?

 jbpm4中executionId和processInstanceId是否始终相等?

最佳答案

不知道您说的相等是什么概念,不过在jbpm4中,executionId是用来推进流程的,实际上与jbpm3中的token很类似,所以它会在执行的过程中在processInstance,historyActivityInstance,historyTaskInstance,historyVariable这些实例间进行传递,还有原子操作的执行,也是依靠传递Execution实例来执行的(详见ExecuteActivity、MoveToParentActivity、TransitionTake、TransitionStartActivity、ExecuteEventListener、TransitionEndActivity),而在执行之后,executionId会与processInstance,historyActivityInstance,historyTaskInstance,historyVariable几个实例相关联持久化到数据库。所以不存在executionId与processInstanceId相等的概念的。

帮忙看下如何实现这个业务 谢谢了

我现在的业务是这样的:

我创建了一个文件,这个文件需要张王李赵四个部门经理去审批,哪个经理审批同意了,这个文件就会在这个部门下流转,至于如何流转是我事先规定好的,所有部门都是按着这个事先规定好的流程去走,但是互相不受影响。。。。或许下次我就给10个部门的经理来审批,即审批人的数量是不同的,类似于分支,但是分支的数量不定,但是分支的走法相同。

 

谁能告诉我该如何实现这个功能呢 是用子流程么 ,在子流程中创建规定一个走法,然后动态创建子流程。

是这样么 ??如果不是的话该如何解决

 

麻烦高手告诉谢  谢谢了

jbpm4 Task

jbpm4中TaskService.newTask()创建的节点如何与流程关联

如何为新创键的Task创建一个TransitionImpl呢

 

最佳答案

首先在jbpm4中,TransitionImpl是转移定义而不是转移实例,因此它与Task或Activity之间的关系,在解析xml流程定义时,加入内存中的,在jbpm4引擎本身的代码中,Transition只有定义,没有实例,也就是说定义在内存中,并没有生成实例去持久化到数据库中,因此也没有一个转移实例这样的对象存在,转移定义(TransitionImpl)只是用来进行运算,来决定节点的推进,因此不存在为Task创建一个TransitionImpl的说法。

其次,TaskService.newTask()这个方法,目前在外面调用是没有任何意义的,在jbpm4中目前仅仅是用它来做单元测试使用(不过,我猜测后续与BPMN集成时,扩展BPMN的group activity时,可能会继续完善相关方法),因为它确实是没有实现如楼主所提到的与流程实例、甚至是任务节点定义的关联。

因此要想实现与流程等实例信息的关联,必须要自己扩展开发,可参照TaskActivity这个类的方法进行扩展。

搞不懂state节点有什么事情?

按我的理解state节点是让流程等待外部系统应答,外部系统应答后signal一下流程继续流转。不过state节点没看到任何地方可以发消息给外部系统,外部系统怎么知道到流程已经流转到了这个state节点?

同步内容