JBPM3中文用户手册——第三章:教程(3)

3.3    上下文示例:流程变量

流程变量(process variable)包含流程执行时的上下文(context)信息。它类似于一个java.util.Map,映射变量名称到java对象值。流程变量被作为流程的一部分持久。为了简化,下面这个例子中,我们只展示了操作变量的API,没有展示如何持久。

 

更多关于变量的信息,参考11.上下文

 

// This example also starts from the hello world process.

// This time even without modification.

ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(

  "<process-definition>" +

  "  <start-state>" +

  "    <transition to='s' />" +

  "  </start-state>" +

  "  <state name='s'>" +

  "    <transition to='end' />" +

  "  </state>" +

  "  <end-state name='end' />" +

  "</process-definition>"

);

 

ProcessInstance processInstance =

  new ProcessInstance(processDefinition);

 

// Fetch the context instance from the process instance

// for working with the process variables.

ContextInstance contextInstance =

  processInstance.getContextInstance();

 

// Before the process has left the start-state,

// we are going to set some process variables in the

// context of the process instance.

contextInstance.setVariable("amount", new Integer(500));

contextInstance.setVariable("reason", "i met my deadline");

 

// From now on, these variables are associated with the

// process instance.  The process variables are now accessible

// by user code via the API shown here, but also in the actions

// and node implementations.  The process variables are also 

// stored into the database as a part of the process instance.

 

processInstance.signal();

 

// The variables are accessible via the contextInstance.

 

assertEquals(new Integer(500),

             contextInstance.getVariable("amount"));

assertEquals("i met my deadline",

             contextInstance.getVariable("reason"));

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值