2017-06-29 14 views
1

私はakkaとspringbootの新機能ですが、ほとんどの例でActorSystemにspringextentionを挿入していますが、私は以下のように試してみました。差異があるかどうかを知りたい、または今後問題が発生する可能性があります。springbootのActorSystem

取得ActorSystem以下のように:必要な場合

@Bean 
    public ActorSystem getActorSystem() { 
     // Create the actor system. 
     final Config settings = ConfigFactory.load(); 
     return ActorSystem.create("my", settings); 
    } 

が、その後すぐ下のように使用します。

ActorSystem system = context.getBean(ActorSystem.class); 
ActorRef consumer = system.actorOf(Props.create(Consumer.class)); 

答えて

0

あなたが俳優で任意の豆を使用していない場合、それは完全に罰金です。 それ以外の場合、アクター内でコンテキストを使用し、いずれかのアクターでcontext.getBean(SomeBean.class)を呼び出すと、ライブサイクルの問題が発生する可能性があります。

SomeBeanはまだ読み込まれていない可能性があります。 SpringはあなたのActorSystemが最初にSomeBeanを初期化する必要があることを知らない。 ActorSystem@DependOnすべての豆がすべての俳優によって使用されていますが、これは脆弱で維持しにくいです。

個人的に、私はAkkaと(Spring + Java)がよくマッチするとは思っていません。 Scala言語とエコシステム(ライブラリ)でAkkaを使用すると、摩擦が少なくなります。

関連する問題