我有一个弹簧状态机,该状态机配置有一个EnumStateMachineConfigurerAdapter
并标有@EnableStateMachineFactory
一切顺利,我可以使用工厂创建状态机:
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(MyStateMachineConfig.class);
context.refresh();
StateMachineFactory stateMachineFactory = context.getBean(StateMachineFactory.class);
但是我需要对状态机的配置进行一些自省。基本上,我想获取所有最终状态的列表,以备记录。
此信息在org.springframework.statemachine.config.StateMachineConfig
中可用,我可以在调试时告诉它已创建它的实例。但是它似乎没有注册为bean,并且我无法通过调用来访问它:
context.getBean(StateMachineConfig.class);
原因:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.statemachine.config.StateMachineConfig<?, ?>' available
答案 0 :(得分:1)
您可以注册自己的StateMachineModelVerifier
并访问州数据-isEnd()
对象上有一个公共的StateData方法。
{path: 'main', component: OnboardingComponent},