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

痴心易碎 提交于 2019-12-07 09:20:10

问题


I'm creating a state machine object using the provided builder as follows:

10.2 State Machine via Builder

I'm seeing the following exception:

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

The exception isn't preventing the state machine from functioning as expected. However, I would like to get down to the bottom of why I'm seeing this.

Anyone know how I can stop this exception from showing?

Thanks.


回答1:


Managed to get a solution for this.

I autowired the the Spring application context into my class. I then extracted the AutowireCapableBeanFactory from this and set this up inside the builder. As follows:

   @Autowired
    private ApplicationContext appContext;

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



回答2:


Just add this:

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


来源:https://stackoverflow.com/questions/37925352/java-lang-illegalstateexception-bean-factory-must-be-instance-of-listablebeanfa

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!