jbpm知识点――ContextInstance

上下文主要是用来操作变量的,其实在decision和ProcessState2的例子中已经使用过了。
一般得到ContextInstance可以通过以下2种方式:
ContextInstance contextInstance = processInstance.getContextInstance();
ContextInstance contextInstance = (ContextInstance) processInstance.getInstance(ContextInstance.class);
基本的操作有:
void ContextInstance.setVariable(String variableName, Object value);
void ContextInstance.setVariable(String variableName, Object value, Token token);
Object ContextInstance.getVariable(String variableName);
Object ContextInstance.getVariable(String variableName, Token token);
ContextInstance.deleteVariable(String variableName);
ContextInstance.deleteVariable(String variableName, Token token);
每个变量默认都是整个流程范围的。如果想设置一个令牌局部变量,你必须明确使用如下语句创建:
ContextInstance.createVariable(String name, Object value, Token token);
变量是同流程实例一起持久化的(jbpm_variableinstance&jbpm_variableaccess),如果不希望变量持久化到数据库可以使用临时变量
Object ContextInstance.getTransientVariable(String name);
void ContextInstance.setTransientVariable(String name, Object value);
临时变量与令牌无关,因此对于一个流程实例对象只有一个临时变量map。
当一些特殊的变量需要持久化到数据库中的时候,我们要自行设置转换器,转换成可以保存到数据库中的数据类型。比如将boolean保存成string。
补充:
jbpm还支持另一种方式的变量操作见action的例子<msg>HELLO</msg>
 
本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/jeffen2006/archive/2006/10/17/1338138.aspx

你可能感兴趣的:(职场,休闲)