2016-09-25 127 views
-1

我对Activiti来说很新奇。我有一个具体的问题,假设我有2个在2个实例上运行的ativiti引擎,并且都共享公共存储库。目前如果我在实例A上启动任何任务,并由于Activiti的默认属性而使其突然中断,则它由B选择,这恰好不会发生,因为两个实例有不同版本的软件正在运行。我需要下面的行为 “只有在我们暂停它的情况下,才能通过活动A完成在实例A上开始的作业”。有可能吗?Activiti集群

非常感谢提前!

回答

0

Activiti的默认行为是在实例A上创建的作业也将由实例A处理。只有在需要重试作业的情况下,实例B才有可能处理作业。为了确保在实例A上创建的作业将始终由实例A处理,您需要扩展默认作业执行程序并设置其他作业处理程序配置值。在执行作业之前,您可以检查此配置值以验证作业是否已在实例A上创建。

请注意,当您覆盖默认作业执行程序时,如果实例A处于关闭状态,则实例A的作业将不再被执行。也许对于你的用例来说,使用单独的Activiti数据库更有意义?

+0

谢谢,Tijs的及时回复! 我可以获得一些参考/示例来扩展默认作业执行程序以设置其他作业处理程序配置值吗? 我实际上正在考虑使用单独的Activiti数据库的这个方向。 –