我的业务流程必须转换为Activiti BPM图或其他BPM引擎。 这是我缩短的业务流程: - 用户1创建业务事务 - 然后用户2完成他的任务以改变交易状态。 我的问题是:在创建业务事务之后,用户1可以删除该事务,其中用户2无法完成其任务(或者他的任务被用户1自动删除)。 那么如何使用BPM图来表达该业务?我现在对使用并行网关感到困惑吗?
答案 0 :(得分:0)
用户2的任务类似于(更新事务状态)应该在更新状态之前首先检查特定实体是否存在,然后可能放置逻辑/物理锁定,指示它在必要时正在使用。类似地,在用户1的任务中,应该在删除之前进行检查以查看该实体是否被另一个用户保持/锁定。所以这一步不仅仅是一个动作。
答案 1 :(得分:0)
您指出的业务流程细分实际上是一种常见做法。 通常,授权发起人取消可能具有现有任务的流程或流程的一部分。
处理此问题的最简单方法是:
请注意,如果您使用终止事件,则步骤3不是必需的,但它是一种“撬棍方法”,根据我的经验,总是需要实例清理(通知用户他们的流程任务消失的原因,撤消DB或记录交易系统,向其他系统发送消息)。
作为一个单独的注释,BP-3(http://www.bp-3.com)提供了一整套Activiti服务,包括:
他们或许可以帮助您制定迁移策略。