最近在学习jbpm,现关注到概念token和signal
这里搜集了下有以下描述
token:令牌;signal:信令。
token:在jbpm中,一个运行标记token代表一个processDefinintion中的一次执行,它是运行时的概念,用来维护流程设计图中结点的指针。token需要一个信号(signal)来让流程向前执行。当接收到一个signal的时候,token会通过路径(弧transition)离开当前所在的结点到达下一个结点。
ProcessDefinintion代表一个面向图的业务流程定义。在流程定义中,每一个结点的定义都有一个特定的类型,代表着不同的执行功能。如定义中的Start State,这个start state就是一个类型。
ProcessInstance一个流程实例代表某一个流程定义的一次执行。一个流程定义可以有多个流程实例,当一个流程实例创建的时候,该流程的主路径就会随之创建--root token.Root token自然指向开始结点start state。
Action:当一个token进入一个node的时候,这node就会被执行。node本身代表着图执行的行为,当token会触发一些事件,来让一些行为(Action)来执行。Action其实就是一段java代码,只不过需要被特定的事件来触发。因为图式从宏观上去描述一个项目,但具体的细节还是没能显示出来,action就是把一些外围技术引入到图中的方法。
Action可以被定义在一些事件中如进入结点(enter-event),离开结点(leaving-event),已经过弧(taking transition).
jbpm是调用jpdl解释器解释JPDL文件(processDefinition.xml),同时将这个文件转换为processDefinition实例对象。ProcessDefinition拥有与它相关的图对象如node,transition等。JBPM核心库提供对这些实例对象的持久化。在执行的时候,JBPM会生成流程实例类的对象processInstance,它主要由指向processDefinition上结点的指针(token),以及流程实例相关的上下文.在流程实例的执行过程中,jbpm通过token在结点和弧的交替传递来实现。当token到达某个结点的时候,就会触发事先定义在流程定义文件中定义好的事件,以及事件相应动作的执行(如操作DB或者发送e-mail)。token是图执行的路标,它能显示出图执行到哪个结点了,而这个结点就是我们所说的状态。token从一个结点指向下一个结点,流程从一个状态转到另一个状态。而等待,jbpm的每一个等待结点就是一个状态。流程要继续向下执行,就要收到一个signal(),否则将一直等地啊下去,或者某一个触发事件如任务的完成。这些状态将记录在流程实例中,当然也可以把些持久化到介质中。
这里搜集了下有以下描述
token:令牌;signal:信令。
token:在jbpm中,一个运行标记token代表一个processDefinintion中的一次执行,它是运行时的概念,用来维护流程设计图中结点的指针。token需要一个信号(signal)来让流程向前执行。当接收到一个signal的时候,token会通过路径(弧transition)离开当前所在的结点到达下一个结点。
ProcessDefinintion代表一个面向图的业务流程定义。在流程定义中,每一个结点的定义都有一个特定的类型,代表着不同的执行功能。如定义中的Start State,这个start state就是一个类型。
ProcessInstance一个流程实例代表某一个流程定义的一次执行。一个流程定义可以有多个流程实例,当一个流程实例创建的时候,该流程的主路径就会随之创建--root token.Root token自然指向开始结点start state。
Action:当一个token进入一个node的时候,这node就会被执行。node本身代表着图执行的行为,当token会触发一些事件,来让一些行为(Action)来执行。Action其实就是一段java代码,只不过需要被特定的事件来触发。因为图式从宏观上去描述一个项目,但具体的细节还是没能显示出来,action就是把一些外围技术引入到图中的方法。
Action可以被定义在一些事件中如进入结点(enter-event),离开结点(leaving-event),已经过弧(taking transition).
jbpm是调用jpdl解释器解释JPDL文件(processDefinition.xml),同时将这个文件转换为processDefinition实例对象。ProcessDefinition拥有与它相关的图对象如node,transition等。JBPM核心库提供对这些实例对象的持久化。在执行的时候,JBPM会生成流程实例类的对象processInstance,它主要由指向processDefinition上结点的指针(token),以及流程实例相关的上下文.在流程实例的执行过程中,jbpm通过token在结点和弧的交替传递来实现。当token到达某个结点的时候,就会触发事先定义在流程定义文件中定义好的事件,以及事件相应动作的执行(如操作DB或者发送e-mail)。token是图执行的路标,它能显示出图执行到哪个结点了,而这个结点就是我们所说的状态。token从一个结点指向下一个结点,流程从一个状态转到另一个状态。而等待,jbpm的每一个等待结点就是一个状态。流程要继续向下执行,就要收到一个signal(),否则将一直等地啊下去,或者某一个触发事件如任务的完成。这些状态将记录在流程实例中,当然也可以把些持久化到介质中。