springboot中的ActorSystem

时间:2017-06-29 22:49:00

标签: spring spring-boot akka

我是akka和springboot的新手,在搜索大多数示例时注入了具有springextention的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));

1 个答案:

答案 0 :(得分:0)

如果您没有在演员中使用任何bean,那就完全没问题了。 否则,当您在actor中使用上下文并在任何actor中调用SomeBean时,您可能会遇到生命周期问题。

ActorSystem可能尚未加载和初始化。 Spring不知道您的SomeBean首先需要ActorSystem进行初始化。 您可以使所有参与者使用@DependOn .cabecera { width: 132px; color: white; max-width: 132px; min-width: 132px; padding: 8px 12px; font-weight: bolder; white-space: nowrap; background-color: #82005E; } 所有bean,但这很脆弱且难以维护。

就个人而言,我没有发现Akka和(Spring + Java)是很好的匹配。将Akka与Scala语言和生态系统(库)结合使用时,摩擦力会减少。