我在我的应用中添加了一位Akka
演员,该演员适用于Spring
和OSGI
。
我尝试使用Spring @Component bean
中的Actor,如下所示:
private final ActorSystem system = ActorSystem.create("actor-system");
private ActorRef managerActorRef = system.actorOf(Props.create(ManagerActor.class), "ldapManagerActor");
当我启动应用程序时,它会抛出异常(No configuration setting found for key 'akka'
):
Instantiation of bean failed; nested exception is org.springframework.
beans.BeanInstantiationException: Could not instantiate bean class [com.myconpany....ByBean]: Constructor threw exception; nested exception is com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka'
我看一下this:doc。似乎我的问题的根源与class loader
有关,我应该传递给/ akka-system
和application.conf
文件来描述这个。
但到目前为止,我找不到合适的stets
来完成所有工作。
有人可以帮忙吗?
我的尝试:
流动this文章。
我放的时候:
<bean id="actorSystem" class="akka.actor.ActorSystem" factory-method="create" scope="singleton"></bean>
我有类似的错误:
Could not autowire field: private akka.actor.ActorSystem
com.typesafe.config.ConfigException$Missing: No configuration setting fou
nd for key 'akka'
答案 0 :(得分:1)
如果您只想使用Akka actor,则无需传入application.conf设置。您可以使用默认值。确保您的类路径上有配置库。
您没有提到您使用的Akka版本,但是如果您使用最新的Akka 2.2 RC,您可以使用IndirectActorProducer来处理弹簧布线。
请参阅此文章,了解如何执行此操作; http://blog.nemccarthy.me/?p=272
你还应该告诉Spring在ActorSystem上调用shutdown来干净地关闭。还有一个关于如何将ActorSystem集成到Spring或Web应用程序here
的更新指南