java.lang.IllegalStateException: Bean 工厂必须是 ListableBeanFactory 的实例,为空

java.lang.IllegalStateException: Bean factory must be instance of ListableBeanFactory, was null

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

10.2 State Machine via Builder

我看到以下异常:

ERROR org.springframework.statemachine.support.StateMachineObjectSupport - Unable to initialize annotation handlers java.lang.IllegalStateException: Bean factory must be instance of ListableBeanFactory, was null

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

有人知道如何阻止显示此异常吗?

谢谢。

设法找到解决方案。

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

   @Autowired
    private ApplicationContext appContext;

     private void buildStateMachine() throws Exception {
        Builder<EnquiryStatus, Event> builder = StateMachineBuilder.builder();
        builder.configureConfiguration().withConfiguration().beanFactory(appContext.getAutowireCapableBeanFactory());
     }

只需添加:

builder.configureConfiguration().withConfiguration().beanFactory(new StaticListableBeanFactory());