JPDL(JBOSS JBPMProcess Definition Lanauage)是构建于JBPM框架上的流程语言之一,在JPDL中提供了tasks,states,timers,actions,并通过图形化的路程定义,很直观地描述业务流程
JPDL是一套XML语言,并且有特点的节点,每个节点代表不同的流程定义规则,通过XML对流程描述,JBPM去解析这套XML语言,然后把消息存储到数据库中
JPDL常用节点:
1,Process-definition(流程定义节点)
它是所有节点的父节点,是流程定义的根节点,它代表了一个流程定义文件,该节点和许多xml文件一样,可以包含子节点,可以有自己的属性,其中name属性是必须有的。它标识了流程定义的名称,是流程定义的标志,通过name来操作流程定义,其它节点比如task node event可以自由的添加,以让流程定义满足我们的需求
2,state 和task节点
state节点也叫手工节点,进入这种状态,整个业务程序实例执行就会中断,直到系统外参与者发起继续执行的命令,即调用signal或者end方法,业务程序实例的执行才能够继续下去
task节点就是任务节点,进入这个节点业务会继续下去,当task节点下的所有惹我你执行完成以后流程才可以走下去
state是中断任务需要有人审批才能够通过,task相当于增加一个任务
3,fork和join节点
一个fork把一个执行线路分割成多个执行线路,默认分支的行为是为每个离开分支转换建立一个子令牌,在令牌要到达的分支间建立一个父母---子女关系
联合join假设所有来自同一个父母的子令牌联合,当在上使用fork分支
4,Decision(决策)
一个decision用以决定在多个线路路径中哪个才可能被执行,相当于switch case
5,Transition(转换)
转换节点是流程中最多的节点,它在设计器中用一条有向线段表示,表示从一个节点到达另外一个节点,它的to属性就是标明它的目的的节点
6,循环节点
JPDL事件, 动作,脚本