如何在工作流程中使ActivityOptions像生命周期一样动态

时间:2019-10-02 17:52:49

标签: java cadence-workflow

由于我的活动工作量可能相差很大,因此我们无法使用固定的scheduleToCloseTimeoutSeconds

在workerImpl的构造函数中,我为我们的活动新建了存根,这些存根将在工作流方法中使用。但是问题在于建议注册工作流的方法是按类型: registerWorkflowImplementationTypes 仅接受一个班级。因此无法将诸如生存期之类的选项传递给可用于使acitivityOptions动态化的工作流。

那么我要实现的对Cadense的反模式是什么? 如果没有,正确的做法是什么?可能应该使用工作流工厂方法,但是文档表明这些方法主要用于单元测试和模拟,并且看起来像使用registerWorkflowImplementationTypes是首选方法。

1 个答案:

答案 0 :(得分:0)

Cadence工作流程实施代码must be deterministic。打破确定性的一种方法是直接依赖可以在工作流程执行期间更改的配置。

解决此问题的标准方法是将配置参数作为参数传递给工作流程方法或使用活动加载它们。通常,为此目的使用效率更高的local activity