【发布时间】:2015-02-01 00:41:06
【问题描述】:
我对将 Actors 注入 bean 很感兴趣,而 Actors 将由 spring 创建。另外,我正在寻找自定义Akka配置文件路径的方法。
我的项目使用Java 7和spring 3.2.5,akka版本是2.3.7。
我阅读了一些文档和指南,指示在我的 spring beans 配置文件中创建 bean 定义,如下所示:
<bean id="system-actor" class="akka.actor.ActorSystem" factory-method="create" destroy-method="shutdown" scope="singleton">
<constructor-arg value="MyApp" />
</bean>
spring根据默认配置成功创建的系统actor。 问题:
-
我想根据/WEB-INF/application.conf文件初始化系统actor,我添加了-Dconfig.trace=loads系统属性来调试配置加载,这是输出:
从类加载器 WebappClassLoader 加载配置 上下文:/MY-APP 委托人:假 存储库: /WEB-INF/classes/ ----------> 父类加载器: org.apache.catalina.loader.StandardClassLoader@992f73 但是没有名为 application.conf 的资源 异常加载application.conf:java.io.IOException:在类路径上找不到资源:application.conf 从类加载器 WebappClassLoader 加载配置 上下文:/MY-APP 委托人:假 存储库: /WEB-INF/classes/ ----------> 父类加载器: org.apache.catalina.loader.StandardClassLoader@992f73 但是没有名为 application.json 的资源 异常加载application.json:java.io.IOException:在类路径上找不到资源:application.json 从类加载器 WebappClassLoader 加载配置 上下文:/MY-APP 委托人:假 存储库: /WEB-INF/classes/ ----------> 父类加载器: org.apache.catalina.loader.StandardClassLoader@992f73 但是没有名为 application.properties 的资源 异常加载application.properties:java.io.IOException:在类路径上找不到资源:application.properties 没有找到带有任何扩展名的“应用程序”(.conf、.json、.properties);但允许缺少“应用程序”。加载尝试的异常应该已经在上面记录了。 从 URL jar:file:/var/work/MY-APP/jakarta-tomcat/webapps/MY-APP/WEB-INF/lib/akka-actor_2.10-2.3.7.jar!/reference.conf 加载配置类加载器 WebappClassLoader 上下文:/MY-APP 委托人:假 存储库: /WEB-INF/classes/ ----------> 父类加载器: org.apache.catalina.loader.StandardClassLoader@992f73
有没有办法将此路径传递给系统参与者 bean?
有没有办法在spring中创建actor bean而不是注入系统actor并使用
system.actorOf(Props.create(MyActor.class), "name");?详细的例子会很有帮助。- 很多类似问题的答案都指向这篇文章:http://blog.nemccarthy.me/?p=272 但是这个页面离线了,有人知道那里写了什么吗?
【问题讨论】: