在我的项目中,我有一个问题;我有很多场景,我需要支持多状态配置,例如,我需要定义创建订单状态机,我还需要定义创建项状态;所以任何人都能告诉我如何处理弹簧状态机?
我已经使用@EnableStateMachineFactory
并定义了
@Configuration
@EnableStateMachineFactory
@SuppressWarnings("all")
public class OrderHoldConfiguration extends EnumStateMachineConfigurerAdapter<HoldState, HoldEvent> {
...
}
@Configuration
@EnableStateMachineFactory
public class JsdConfiguration extends EnumStateMachineConfigurerAdapter<BizState, BizEvent> {
...
}
但它不起作用,我应该使用哪种方式?
答案 0 :(得分:1)
看起来文档有点不清楚,但@EnableStateMachine
和@EnableStateMachineFactory
的工作方式相同,结果bean分别命名为stateMachine
和stateMachineFactory
。在您的情况下,其他工厂简单被覆盖。
@EnableStateMachineFactory(name = "factory1"){}
@EnableStateMachineFactory(name = "factory2"){}
然后你可以像春天的应用程序上下文一样自动装配或获取bean,就像任何其他bean一样。现有票证gh-306允许通用类型进行自动装配,因此在修复之前,您需要按名称连接(即使用@Qualifier
)。