我正在使用流程框架编写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();
为什么我会收到此错误以及如何摆脱它?
答案 0 :(得分:1)
当您在工作流程之外调用它时,getDecisionContext()
抛出此异常(它只应在工作流实现的调用层次结构中的某个位置调用 - 即WorkflowImpl
)。
为避免出现该错误,您只应在工作流程或其构造函数内部调用getDecisionContext()
。该对象仅在这些情况下(通过简单的工作流框架)设置,并且在工作流执行之外不存在,因此IllegalStateException
。