论坛首页 Java企业应用论坛

JBPM流程版本

浏览 2294 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-05  

                     流程定义文件:helloWorld.xml
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="Helloworld">
<start-state>
<transition to='s' />
</start-state>
<state name='s'>
<transition to='end' />
</state>
<end-state name='end' />
</process-definition>

流程XML文件定义完成之后,接下来的工作就是要将其发布到对应的数据库中,将我们的流程定义部署到数据库时,部署时流程的名称就是前面提高的<process definition>里定义的name”属性的值。
JBPM的版本机制允许在数据库中多个同名流程定义共存,流程实例以当时的最新版本来启动,并且在它的整个生命周期中将保持以相同的流程定义执行。当一个新的版本被部署,新的流程实例以新版本启动,而老的流程实例则以老的流程定义继续执行。
在部署的时候,jbpm 安排一个版本(version)号码(数字)给流程定义。为了实现安排version号码,如果它是第一个版本(version),JBPM采取1+或者1。从ProcessDefinition pd=JbpmContext.getGraphSession()
.findLatestProcessDefinition("processName")
中可以通过一个给定的processName查找最近的流程定义,这里的processName就是前面我们在定义流程的时候在<process definition>里定义的name”属性的值,这个属性就是用来表示该流程的名称。如我们的下列代码就是要列出JBPM数据库里的有所有最后一次发布的流程定义的版本:
JbpmContext context=JbpmContext.getCurrentJbpmContext();
List ls=context.getGraphSession().findLatestProcessDefinitions();
/*
这里返回的List是ProcessDefinition的集合
*/
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics