Spring Statemachine配置:使用@enablestatemachineFactory时命名statema



我想使用StateMachineFactory包括几种用于动态实例化的StateMachine配置。但是@EnableStateMachineFactory注释允许命名工厂。每个配置如何命名(即扩展EnumStateMachineConfigurerAdapter)?

否则,如果可能的话,有一个如何在配置定义中使用setMachineID方法的示例将是有用的。

在带有spring`@configuration'类的这些enable注释中只是定义了在应用程序上下文中注册的bean名称。最容易解释的例子:

@EnableStateMachine

StateMachine作为bean stateMachine

@EnableStateMachine(name = "fooMachine")

StateMachine作为bean fooMachine

@EnableStateMachine(name = {StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, "fooMachine"})

StateMachine作为bean stateMachine with bean别名 fooMachine

@EnableStateMachineFactory

StateMachineFactory作为bean stateMachineFactory

@EnableStateMachineFactory(name = "fooMachineFactory")

StateMachineFactory作为bean fooMachineFactory

@EnableStateMachineFactory(name = {StateMachineSystemConstants.DEFAULT_ID_STATEMACHINEFACTORY, "fooMachineFactory"})

StateMachineFactory作为bean stateMachineFactory with bean别名 fooMachineFactory

除此之外,@Configuration类的名称(扩展了statemachineconfigureradapter)并不重要。在春季思想,@Configuration类也被创建为bean,这意味着下面的类别将在春季应用程序上下文中以bean myConfig.MachineFactoryConfig的形式存在。在春季,只有一件事要记住,因为命名不好的班级可能会导致bean覆盖!

public class MyConfig {
  @Configuration
  @EnableStateMachineFactory
  public static class MachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
  }
}

machineId将出现的内容,我刚刚在DOCS State Machine ID中添加了一个新部分。(仅在快照构建中,直到我们下次发布)

相关内容

  • 没有找到相关文章

最新更新