AWS SWF-非法状态异常:未找到上下文.(在工作流定义之外调用的方法)



我正在使用流框架编写一个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

最新更新