[JBPM3.2]JBPM中的变量

    JBPM中的变量可分为以下三种:
(1)流程变量,即在JBPM_VARIABLEINSTANCE表中只设置PROCESSINSTANCE_字段而不设置TASKINSTANCE_字段值的变量。
(2)任务变量,即在JBPM_VARIABLEINSTANCE表中既对PROCESSINSTANCE_字段设置值也对TASKINSTANCE_字段设置值的变量。
(3)瞬时变量,瞬时变量将不会被存放在数据库中,只在当前ContextInstance实例中有效。
    在设置任务变量的时候,JBPM不仅会将该变量存为任务变量也会将此变量存为流程变量,也就是说调用setVariableLocally()方法时,变量可以会被存两次,不知道JBPM为什么会这样处理。所以就不要出现任务变量与流程变量同名的情况,以防自己设置的流程变量又被任务变量给重新设值了。
    瞬时变量主要方便于不同的类之间传递变量值,比如我们在业务处理类Service中通过taskInstance.end()结束任务,而需要向当前结点的task-end事件或node-leave事件处理类传递变量时,就可以把变量设置成瞬时变量以供调用。
   瞬时变量的设置方法为contextInstance.setTransientVariable(String name, Object value);

你可能感兴趣的:(jbpm)