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

那么,必须在后面的运行任务时,将所有的涉及到的变量都设置进任务中,只不过,如果这个任务没有涉及到这个变量的话,将该变量的值设为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);}

  

转载于:https://www.cnblogs.com/zz22--/p/11226248.html

java中activiti框架中的排他网关使用方法,多条件判断相关推荐

  1. 掌财社:html5中AmazeUI框架中JS表单验证实战案例展示!

    今天和大家分享个有关于"html5中AmazeUI框架中JS表单验证实战案例展示!"这方面的相关内容知识,让大家对于html5中AmazeUI框架也可以有所了解! 1.需求 做一个 ...

  2. Excel中IF函数和AND函数结合使用进行多条件判断

    Excel中IF函数和AND函数结合使用进行多条件判断 | 浏览:7182 | 更新:2012-12-26 12:42 | 标签: excel 1 2 3 分步阅读 IF函数是针对一个条件进行判断的函 ...

  3. java sublist_Java集合框架中少为人知的SubList类

    SubList List在开发中是常用的一种数据结构,偶尔也会用到List中的subList方法,这个方法有点意思,一起看下. 01SubList的使用 List接口中有subList(int fro ...

  4. Shell脚本中获取命令运行结果、特殊变量使用、条件判断等常用操作

    文章目录 前言 获取命令执行结果 使用反引号 `` ` ``command `` ` ``来执行命令 使用括号组合 $(command) 来执行命令 两种方式的区别 特殊变量使用 $0 $1 $2 . ...

  5. java中bean的定义有哪些_详解Java的Spring框架中bean的定义以及生命周期

    bean的定义形成应用程序的骨干是由Spring IoC容器所管理的对象称为bean.bean被实例化,组装,并通过Spring IoC容器所管理的对象.这些bean由容器提供,例如,在XML的定义, ...

  6. mybatis mysql 事务处理_详解Java的MyBatis框架中的事务处理

    一.MyBatis单独使用时,使用SqlSession来处理事务: public class MyBatisTxTest { private static SqlSessionFactory sqlS ...

  7. java spring框架 注解_详解Java的Spring框架中的注解的用法

    1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的类的实现: class UserManagerImpl implements UserManager { private ...

  8. Java笔记-spring-rabbit框架中消息中header的添加

    对应的application.properties如下: spring.rabbitmq.host=122.xx.xxx.xxx spring.rabbitmq.port=5672 spring.ra ...

  9. java的集合框架中重要的接口,持续更新大厂面试笔试题

    第一篇Linux基础学习篇 目录 第零章﹑计算机概论关于电脑的硬件组成部分﹐其实你可以观察你的台式机来分析一下﹐依外观来说这家伙主要可分为三部分﹐分别是∶ 输入单元∶包括键盘﹑鼠标﹑读卡机﹑扫描仪﹑手 ...

最新文章

  1. 可视化卷积神经网络的过滤器_万字长文:深度卷积神经网络特征可视化技术(CAM)最新综述...
  2. python路由编程_Python Django基础二之URL路由系统
  3. 1.C#基础之简介(完成)
  4. webpack打包vue2.0项目时必现问题
  5. 西门子step7安装注册表删除_不用重装系统就能完全卸载西门子PLC编程软件STEP 7...
  6. android 安装apk 代码,Android 8.0安装apk的实例代码
  7. Cisco 模拟器rstp生成树
  8. 如何用unity做一个合成图片的程序
  9. 如何用3dmax画OpenGL的5大坐标系
  10. @TableLogic注解
  11. 01 为什么要学习计算机组成原理?
  12. csv文件转换成xlsx文件方法
  13. 【java】java intellij idea 破解
  14. 京东商品主图怎么保存?如何正确的保存到原图?
  15. Linux从图形界面切换到文本界面快捷键不好用的解决方法
  16. 苹果酸-天冬氨酸穿梭
  17. 这个5G网优工程师也太牛了!手机丢了,自己找回来了!
  18. Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
  19. 【免费测试】姓名测算性别—仅需这几步即可:来看程序员是如何解决的?爱了爱了~
  20. 【图像重建】基于正交匹配追踪(OMP)算法结合小波变换是图像重建含Matlab源码

热门文章

  1. console连接h3c s5500_h3c console连接方法
  2. elementUI使用之table表格如何给行元素添加点击事件
  3. Android开发笔记(一百六十八)为应用绑定通知渠道并展示消息角标
  4. Kotlin入门(13)类成员的众生相
  5. Android开发笔记(六十二)HTTP数据格式的解析
  6. singft 函数 matlab,(新)信号与系统MATLAB实验全.doc
  7. xss挖掘思路分享_XSS学习(三)挖掘思路
  8. php面试专题---MySQL常用SQL语句优化
  9. OSChina 周三乱弹 —— 公司里的潜规则
  10. O2O、C2C、B2B、B2C的区别