描述
前面已经很多地方使用过流程变量(variable),camunda中的变量主要有全局变量(variable)和局部变量(Local Variable).
前面我们使用的都是全局变量,就是整个流程实例中都可以访问的变量,作用域是整个流程实例。
现实开发中,有时候变量只希望变量部分范围可见,多实例任务时同一变量名会有多份不同数据,为了保持数据的并发安全,控制变量的作用域特别重要。
1.限制
流程变量主要是用来方便流程流转的数据传递,大量的业务数据不要使用流程变量。最好只传一些状态数据,影响流程路径的业务数据。流程引擎默认是给变量的内存空间是4M左右,这还包含了流程引擎内因变量,业务使用的在3M以内可以考虑是安全的。
2.作用域
全局变量
在整个流程实例中可见,任何地方设置新值会覆盖旧值。高作用域设置的

- a和b在根作用域上定义,任务A、任务B和任务C可以看到它们。
- c定义在子流程范围内,任务A和任务B可以看到它。
- b在任务A的活
本文探讨了在camunda流程中全局变量和局部变量的使用,强调了限制全局变量以保证并发安全的重要性。介绍了如何通过BPMN设计实现图片处理流程,并通过并行网关和子流程控制变量作用域。测试验证显示全局变量可能导致并发问题,优化方案提出使用局部变量和监听器来提升作用域,确保数据安全。
订阅专栏 解锁全文
6150

被折叠的 条评论
为什么被折叠?



