4

我正在使用提供的构建器创建一个状态机对象,如下所示:

10.2 状态机通过 Builder

我看到以下异常:

错误 org.springframework.statemachine.support.StateMachineObjectSupport - 无法初始化注释处理程序 java.lang.IllegalStateException:Bean 工厂必须是 ListableBeanFactory 的实例,为空

该异常并未阻止状态机按预期运行。但是,我想深入了解为什么我会看到这个。

任何人都知道我怎样才能阻止这个异常显示?

谢谢。

4

2 回答 2

4

设法为此找到解决方案。

我将 Spring 应用程序上下文自动装配到我的类中。然后我从中提取 AutowireCapableBeanFactory 并在构建器中进行设置。如下:

   @Autowired
    private ApplicationContext appContext;

     private void buildStateMachine() throws Exception {
        Builder<EnquiryStatus, Event> builder = StateMachineBuilder.builder();
        builder.configureConfiguration().withConfiguration().beanFactory(appContext.getAutowireCapableBeanFactory());
     }
于 2016-06-20T15:47:07.483 回答
1

只需添加以下内容:

builder.configureConfiguration().withConfiguration().beanFactory(new StaticListableBeanFactory());
于 2017-03-27T05:18:59.367 回答