首先,在jbpm4中,流程定义相关的部署信息就存在[color=red]JBPM4_DEPLOYMENT[/color]、[color=red]JBPM4_DEPLOYPROP[/color]及[color=red]JBPM4_LOB [/color](存放当发布一个png和xml文件后的流程定义后的记录)。中。
[color=red]JBPM4_HIST_PROCINST[/color]、[color=red]JBPM4_HIST_ACTINST[/color]两张表中,分别存放的是process Instance、Activity Instance的历史记录,Activity Instance是指流程定义中各个步骤:task descition等存放Process Instance、Activity Instance历史记录的表有了,那他们的当前记录存在什么地方呢?这就需要弄清楚jBPM的另外几个概念。一般而言,在jBPM中,“a process instance is the root of a tree of executions”。因此,当一个流程实例Split出两个并行步骤的时候,在[color=red]JBPM4_EXECUTION[/color]表中将有三笔相关记录,一笔是代表流程实例的Root Execution,另外两笔是关于上述两个并行步骤的Child Execution。
此外,在jbpm中,Activity的种类是很丰富的,可以是Control Flow Activities,如sub-process,decision等,也可以是Automatic Activity,如java、script、sql等,其中需要人来参与完成的Activity被称为Task,待办任务放在[color=red]JBPM4_TASK[/color]表中,而历史任务放在[color=red]JBPM4_HIST_TASK[/color]表中。
对一个Task而言,它可能会有多个Participation(swim lane 同样会有多个Participation),Participation的种类有Candidate、client、owner、Replaced Assignee和viewer,而具体的Participation既可以是单一用户,也可以是用户组,Participation的信息存放在[color=red]JBPM4_PARTICIPATION[/color]中。
Swim Lane是一种Runtime Process Role,通过Swim Lane,多个Task可以一次分配到同一Actor身上,存放这些信息是表[color=red]JBPM4_PARTICIPATION[/color]。
[color=red]JBPM4_ID_GROUP[/color]、[color=red]JBPM4_ID_MEMBERSHIP[/color]、[color=red]JBPM4_ID_USER[/color]这是基本的权限控制,建议关于用户认证方面还是自己开发一套,这个功能太简单了,难以满足需求。
[color=red]JBPM4_JOB[/color]存放的是Timer的定义。
[color=red]JBPM4_PROPERTY[/color]这是jbpm引擎参数表。
[color=red]JBPM4_VAR[/color]表存放流程临时变量,当流程实例结束后,表中内容清除。
[color=red]JBPM4_HIST_VAR[/color]表存放历史临时变量,但是jbpm4好像还没有对这张表进行利用。
[color=red]JBPM4_HIST_DETAIL[/color]表保存变量变更记录。
了解jbpm4.3以上这18张表后,我们应该在流程运行中,详细观察jbpm是如何对这些表进行操作,以及进行什么样的操作的。
发布一个流程定义后:
[color=red]JBPM4_DEPLOYMENT[/color]新增一条记录
[color=red]JBPM4_DEPLOYPROP[/color]新增三条记录
[color=red]JBPM4_LOB[/color]新增两条记录
开始一个流程startProcessInstanceByKey后:
[color=red]JBPM4_EXECUTION[/color]新增一条记录
[color=red]JBPM4_TASK[/color]新增一条记录
[color=red]JBPM4_HIST_PROCINST[/color]、[color=red]JBPM4_HIST_ACTINST[/color]分别新增一条记录
[color=red]JBPM4_HIST_TASK[/color]新增一条记录
当执行taskService.setVariables(task.getId(), map);时,[color=red]JBPM4_VARIABLES[/color]中添加变量记录
声明: 转自-->http://blog.csdn.net/haoren_e/archive/2010/05/07/5568096.aspx
[color=red]JBPM4_HIST_PROCINST[/color]、[color=red]JBPM4_HIST_ACTINST[/color]两张表中,分别存放的是process Instance、Activity Instance的历史记录,Activity Instance是指流程定义中各个步骤:task descition等存放Process Instance、Activity Instance历史记录的表有了,那他们的当前记录存在什么地方呢?这就需要弄清楚jBPM的另外几个概念。一般而言,在jBPM中,“a process instance is the root of a tree of executions”。因此,当一个流程实例Split出两个并行步骤的时候,在[color=red]JBPM4_EXECUTION[/color]表中将有三笔相关记录,一笔是代表流程实例的Root Execution,另外两笔是关于上述两个并行步骤的Child Execution。
此外,在jbpm中,Activity的种类是很丰富的,可以是Control Flow Activities,如sub-process,decision等,也可以是Automatic Activity,如java、script、sql等,其中需要人来参与完成的Activity被称为Task,待办任务放在[color=red]JBPM4_TASK[/color]表中,而历史任务放在[color=red]JBPM4_HIST_TASK[/color]表中。
对一个Task而言,它可能会有多个Participation(swim lane 同样会有多个Participation),Participation的种类有Candidate、client、owner、Replaced Assignee和viewer,而具体的Participation既可以是单一用户,也可以是用户组,Participation的信息存放在[color=red]JBPM4_PARTICIPATION[/color]中。
Swim Lane是一种Runtime Process Role,通过Swim Lane,多个Task可以一次分配到同一Actor身上,存放这些信息是表[color=red]JBPM4_PARTICIPATION[/color]。
[color=red]JBPM4_ID_GROUP[/color]、[color=red]JBPM4_ID_MEMBERSHIP[/color]、[color=red]JBPM4_ID_USER[/color]这是基本的权限控制,建议关于用户认证方面还是自己开发一套,这个功能太简单了,难以满足需求。
[color=red]JBPM4_JOB[/color]存放的是Timer的定义。
[color=red]JBPM4_PROPERTY[/color]这是jbpm引擎参数表。
[color=red]JBPM4_VAR[/color]表存放流程临时变量,当流程实例结束后,表中内容清除。
[color=red]JBPM4_HIST_VAR[/color]表存放历史临时变量,但是jbpm4好像还没有对这张表进行利用。
[color=red]JBPM4_HIST_DETAIL[/color]表保存变量变更记录。
了解jbpm4.3以上这18张表后,我们应该在流程运行中,详细观察jbpm是如何对这些表进行操作,以及进行什么样的操作的。
发布一个流程定义后:
[color=red]JBPM4_DEPLOYMENT[/color]新增一条记录
[color=red]JBPM4_DEPLOYPROP[/color]新增三条记录
[color=red]JBPM4_LOB[/color]新增两条记录
开始一个流程startProcessInstanceByKey后:
[color=red]JBPM4_EXECUTION[/color]新增一条记录
[color=red]JBPM4_TASK[/color]新增一条记录
[color=red]JBPM4_HIST_PROCINST[/color]、[color=red]JBPM4_HIST_ACTINST[/color]分别新增一条记录
[color=red]JBPM4_HIST_TASK[/color]新增一条记录
当执行taskService.setVariables(task.getId(), map);时,[color=red]JBPM4_VARIABLES[/color]中添加变量记录
声明: 转自-->http://blog.csdn.net/haoren_e/archive/2010/05/07/5568096.aspx