,比如用户任务或接收到一个消息,也可能来自Activiti本身(定时器事件)
流程包含用户任务,服务任务和定时器事件
完成用户任务和校验地址是在同一个工作单元中,两者的成功和失败是原子性的....,生成一个发票,把发票发送给客户
生成发票不在同一个工作单元内了.如果生成发票出错不需要对用户任务进行回滚
Activiti实现的是完成用户任务(1),提交事务,返回给调用者应用.然后在后台的线程中...job
就是说,使用异步执行,可以把任务分配给这个线程池(在集群环境,可能会使用多个线程池)
产生一致性问题:
考虑一下服务任务后的汇聚:当服务任务完成后,到达并发汇聚节点,需要决定是等待其他分支,还是继续向下执行...(流程实例)然后尝试提交
第一个分支会成功提交,其他分支会因为乐观锁导致失败
因为流程是被job触发的,Activiti会尝试在等待一段时间后尝试执行同一个job,这段时间可以同步网关的状态
Activiti...乐观锁是一个很好的解决方案吗?