当排他网关的判断条件中出现多个条件时,需要注意,设置判断条件时,可能遇到,流向相同的任务,而判断条件的变量个数不同

那么,必须在后面的运行任务时,将所有的涉及到的变量都设置进任务中,只不过,如果这个任务没有涉及到这个变量的话,将该变量的值设为null

当准备满足任务B的条件时,排他网关的判断条件必须满足#{((a==1 || a==3 ) && b==1)||(c==1 && b==3)}

可以看见,有两种情况会让工作流到B,但这两种情况设计的变量不同,第一种两种变量a和b,第二种则为变量b和c。

当我们在执行任务,并向任务重设置变量值时,比如设置b和c的值

variables.put("b", 3);
variables.put("c", 1);

  执行这个任务会出现错误:

org.activiti.engine.ActivitiException: Unknown property used in expression: #{((a==1 || a==3 ) && b==1)||(c==1 && b==3)}
at

  当将三个变量都设置,并且将无需赋值的变量的值设为null,便可以解决这个问题。

public void test3(){
String taskId="5308"; Map<String, Object> variables=new HashMap<>();
//variables.put("Xmtype",1);
//variables.put("Branch",0551);
//variables.put("amt",25000);
variables.put("a", null);
variables.put("b", 3);
variables.put("c", 1);
pe.getTaskService().complete(taskId, variables);
}

  

最新文章

  1. HDU 2853 最大匹配&amp;KM模板
  2. 日常css和js小知识点记录
  3. POJ 2533 Longest Ordered Subsequence 最长递增序列
  4. 一个jQuery扩展工具包
  5. 让Windows蓝屏死机
  6. 菜单设计器(Menu Designer)及其B/S,C/S双重实现(B/S开源)
  7. ASP.NET MVC 第六回 过滤器Filter
  8. EJS模板引擎
  9. jQuery.validate 的form校验
  10. 认识cpu、核与线程
  11. ImitateUCM项目启动Tomcat的过程
  12. HttpResonse 要记得关闭
  13. MySQL binlog 组提交与 XA(两阶段提交)--1
  14. Apache-Axis小结
  15. SQL 存储过程调用存储过程
  16. Chrome插件LiveStyle结合Sublime Text3编辑器实现高效可视化开发
  17. docker 使用compose安装zookeeper集群
  18. 并发编程-synchronized关键字大总结
  19. grunt实现修改代码实时刷新浏览器
  20. Cordova deploy on Android

热门文章

  1. QTP的安装(转载)
  2. prometheus 监控 jar应用服务 + 修改监听IP和端口
  3. MySQL_约束条件
  4. VMware Conveter Standalone agent 安装时出现Error 29190错误的解决办法
  5. Oracle-DQL 5- 分组函数(多行函数)
  6. hbase与hdfs的交互
  7. mysql之存储过程基础
  8. Python开发之JavaScript
  9. Java EE javax.servlet中的ServletContext接口
  10. 怎样修改输入框 placehoder 提示文本的颜色?