可以弹簧状态机支持多种配置吗?

时间:2017-01-22 03:00:17

标签: spring-statemachine

在我的项目中,我有一个问题;我有很多场景,我需要支持多状态配置,例如,我需要定义创建订单状态机,我还需要定义创建项状态;所以任何人都能告诉我如何处理弹簧状态机?

我已经使用@EnableStateMachineFactory并定义了

@Configuration @EnableStateMachineFactory @SuppressWarnings("all") public class OrderHoldConfiguration extends EnumStateMachineConfigurerAdapter<HoldState, HoldEvent> { ... }

@Configuration @EnableStateMachineFactory public class JsdConfiguration extends EnumStateMachineConfigurerAdapter<BizState, BizEvent> { ... }

但它不起作用,我应该使用哪种方式?

1 个答案:

答案 0 :(得分:1)

看起来文档有点不清楚,但@EnableStateMachine@EnableStateMachineFactory的工作方式相同,结果bean分别命名为stateMachinestateMachineFactory。在您的情况下,其他工厂简单被覆盖。

@EnableStateMachineFactory(name = "factory1"){}
@EnableStateMachineFactory(name = "factory2"){}

然后你可以像春天的应用程序上下文一样自动装配或获取bean,就像任何其他bean一样。现有票证gh-306允许通用类型进行自动装配,因此在修复之前,您需要按名称连接(即使用@Qualifier)。