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());
我正在使用提供的构建器创建一个状态机对象,如下所示:
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());