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>

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值