JBPM 工作流引擎 JBPM指南 例子:上下文环境-业务变量(3.3)

声明:

本人EVeryVeryPoor,又是刚刚开始学习JBPM工作流引擎,对原文及概念等理解不当的地方,请网友不吝赐教,吾将及时修改和更正。

本文仅是本人自己学习JBPM,对JBPM指南的学习理解过程。

还望可以对入门者有所帮助。共享之。

需要中英文对照Word文档者请联系:gutengcom@hotmail.com或留下邮件地址。

3.3上下文环境 例子:业务变量

 

业务变量包括了在业务执行期间的上下文环境信息。业务变量是与

java.util.Map相似的变量到值的映射,是java objects.对象。业务变量作为业务实例的被持久化的一部分。为了保持事情的简单性,在例子中我们仅展示在工作时的使用的API,没有持久化。

 

更多关于变量的信息请参考jBPMChapter 8, Context

/*
        
        
这个例子也是从hello world process 业务启动。 
         
这次甚至没有修改。 
         
*/
      
      
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);
      
      

    
    
     
      
    
    
/*
        
        
为正在工作的业务变量从业务实例上取得上下文实例。 
         
*/
      
      
ContextInstance contextInstance = 
      
      
  processInstance.getContextInstance();
      
      

    
    
     
      
    
    
/*
        
        
在业务离开启始状态前,我们将设置业务变量到业务实例的上下文环境中。 
         
*/
      
      
contextInstance.setVariable("amount", new Integer(500));
      
      
contextInstance.setVariable("reason", "i met my deadline");
      
      

    
    
     
      
    
    
/*
        
        
从现在开始,这些变量和业务实例关联起来。现在,业务变量是可以取得的,是由用户通过API代码展示在这, 
         
*/
      
      

    
    
     
      
    
    
processInstance.signal();
      
      

    
    
     
      
    
    
/*
        
        
这些变量通过上下文实例可以取得。 
         
*/
      
      

    
    
     
      
    
    
assertEquals(new Integer(500), 
      
      
             contextInstance.getVariable("amount"));
      
      
assertEquals("i met my deadline", 
      
      
             contextInstance.getVariable("reason"));
      
      

待续……

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值