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

时间:2016-06-20 14:41:19

标签: spring-statemachine

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

10.2 State Machine via Builder

我看到以下异常:

  

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

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

任何人都知道如何阻止此异常显示?

感谢。

2 个答案:

答案 0 :(得分:4)

管理以获得解决方案。

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

   @Autowired
    private ApplicationContext appContext;

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

答案 1 :(得分:1)

只需添加:

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