我正在使用流框架编写一个AWS SWF应用程序。调用以下代码时获得IllegalStateException: No context Found. It means that the method is called outside of the workflow definition code.
:
private DecisionContextProvider contextProvider
= new DecisionContextProviderImpl();
private WorkflowClock clock
= contextProvider.getDecisionContext().getWorkflowClock();
为什么我会出现这个错误,以及如何消除它?
当您在工作流之外调用getDecisionContext()
时,它会引发此异常(它只能在工作流实现的调用层次结构中的某个位置调用,即WorkflowImpl
)。
为了避免出现该错误,您应该只在工作流或其构造函数内部调用getDecisionContext()
。对象仅在这些情况下(通过简单的工作流框架)设置,并且不存在于工作流执行之外,因此IllegalStateException
。