2016-12-07 7 views
0

StateMachineFactoryを使用して、動的インスタンシエーションに複数のコンフィグレーションを含めることができます。しかし、@EnableStateMachineFactoryアノテーションを使用すると、ファクトリの名前を付けることができます。どのConfigの名前をどのようにして(すなわち、EnumStateMachineConfigurerAdapterに拡張しますか)Spring StateMachineコンフィグレーション:@EnableSateMachineFactoryを使用する場合のStateMachineの名前付け

それ以外の場合、可能であれば、構成定義内でsetMachineIDメソッドを使用する方法の例があると便利です。

+0

インラインコードがある場合は、バッククォート( '\' ')でマークしてください。これはあなたの質問をより読みやすくするのに役立ちます。 – Chris

答えて

2

Spring `@Configuration 'クラスのこれらのアノテーションを持つと、アプリケーションコンテキストで登録されたBean名が定義されます。豆stateMachineとして

@EnableStateMachine 

StateMachine:最も簡単な例を挙げて説明します。豆fooMachineとして

@EnableStateMachine(name = "fooMachine") 

StateMachine。豆エイリアスfooMachineとビーンstateMachineとして

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

StateMachine。豆stateMachineFactoryとして

@EnableStateMachineFactory 

StateMachineFactory

@EnableStateMachineFactory(name = "fooMachineFactory") 

StateMachineFactoryfooMachineFactoryとして。豆エイリアスfooMachineFactoryとビーンstateMachineFactoryとして

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

StateMachineFactory

@Configurationクラス(StateMachineConfigurerAdapterを拡張)の名前は重要ではありません。 Springでの考え方@ConfigurationクラスもBeanとして作成され、以下のクラスはSpringアプリケーションコンテキストにbean myConfig.MachineFactoryConfigとして存在することを意味します。ひどく名前のついたクラスがBeanのオーバーライドを引き起こすかもしれないとして、Springで覚えておくべきことの一つ! machineIdのために来て何

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

私はちょうどState Machine IDをドキュメントするための新しいセクションを追加しました。 (スナップショットでのみ、次のリリースが出るまで)

関連する問題