当前位置: 首页 > 知识库问答 >
问题:

在Tomcat7下的Java web应用程序项目中集成Akka和Spring

濮阳霄
2023-03-14

我感兴趣的是将演员注入豆子,而演员将在Spring创造出来。此外,我正在寻找定制Akka配置文件路径的方法。

我的项目使用Java7和Spring 3.2.5,akka版本是2.3.7。

我阅读了一些文档和指南,这些文档和指南指示在我的Spring bean配置文件中创建bean定义,如下所示:

<bean id="system-actor" class="akka.actor.ActorSystem" factory-method="create" destroy-method="shutdown" scope="singleton">
    <constructor-arg value="MyApp" />
</bean>

spring根据默认配置成功创建了系统参与者。问题:

>

  • 我想根据 /WEB-INF/application.conf文件初始化系统参与者,我添加了-Dconfig.trace=load系统属性以便调试配置加载,这是输出:

    类加载器加载配置WebappClassLoader上下文: /MY-APP委托:假存储库: /WEB-INF/classes/ ----------

    有没有办法将此路径传递给system actor bean?

    有一种方法可以在spring中创建actor bean,而不是注入系统actor并使用system。actorOf(Props.create(MyActor.class),“name”) ?详细的例子会很有帮助。


  • 共有1个答案

    王高邈
    2023-03-14

    Q1

    您显式定义conf文件的存储位置,默认情况下扫描根类路径目录,WEB-INF/类

    -Dconfig.resource=/dev.conf
    

    问题2

    遵循激活器-akka-java-Spring中的模式,您可以使用该存储库中的代码,或者使用自己的自定义逻辑自定义它。(迟早你会明白为什么需要自定义它)

    您需要记住,扩展需要用ctx

    SpringExtProvider.get(system).initialize(applicationContext);
    

    然后你可以随心所欲地包装它,处理简单的演员创作:

    ActorRef counter = system.actorOf(
          SpringExtProvider.get(system).props("quartz"), "quartz");
    

    或者更复杂的单身情况:

    ActorRef quartzCoordinator = getContext().actorOf(ClusterSingletonManager.defaultProps(SpringExtProviderget(getContext().system()).props("quartz"), "quartz",
                    PoisonPill.getInstance(), "core"), "coordinator");
    

    第三季度

    赏金;)

     类似资料:
    • 问题内容: 我在RapidMiner中有一个文本分类过程。它从指定的excel ssheet读取测试数据并进行分类。我还有一个小型Java应用程序,它正在运行此过程。现在,我想在应用程序中添加文件输入部分,以便每次我都可以从应用程序(而不是RapidMiner)中指定excel文件。有什么提示吗? 这是代码: 这是错误: 最好的祝福 Armen 问题答案: 我看到两种方法可以做到这一点。 第一个方

    • 让spring集成应用程序具有入站http网关和出站http网关,在我想要缓存的两个网关之间,以避免不必要的请求。我唯一的解决方案是在它之后添加带缓存的拦截器和路由器,将cahced结果路由回回复通道,而非缓存的路由回出站,但这个解决方案对我来说似乎很棘手和丑陋。当入站网关具有相同的请求和应答通道时,带缓存的拦截器也可以正常工作(当返回具有相同标头但不同负载的新消息时,它被视为应答),但我不能使用

    • 我想知道IDE中的Jave EE项目和Java Web项目在方面的主要区别。事实上,如果选择Java web类别,您可以在IDE中基于、和JavaServer Faces创建web应用程序。 另一方面,选择项目类别为Jave EE项目,NetBeans IDE将创建3个子项目,例如:StoreApp(企业应用项目)、StoreApp-ejb(EJB项目)和StoreApp-war(Web项目)。

    • 我正在开发一个使用Hibernate的简单JSF应用程序。我将所有必需的库导入WEB-INF/lib文件夹,并将它们指向类路径。但是当我尝试编译它时,我遇到了错误: 这是我创建SessionFactory并使用它的代码: 我在这里使用它: 那我做错了什么?我该怎么解决这个问题?

    • 我正在为Android创建一个社交网络集成应用程序。我已经可以在脸书、推特和领英上发帖了。现在我必须在应用程序中集成Flickr。我找不到一个合适的例子如何在Android应用程序中集成flicker。 清单文件: main.xml文件: 我在下面的教程中学习: 代码没有执行,我正在寻找一个解决方案或与Flickr集成的Android示例项目源代码。

    • 问题内容: 如果我已有使用和容器的Web应用程序。将Akka集成到其中的正确方法是什么? 就像我将要拥有的并且彼此交流一样。开始使用这些参与者的切入点是什么?(例如:1.放到那里2.更改配置3.获取对actor的引用) 我找到了http://doc.akka.io/docs/akka/2.2-M3/general/configuration.html,但是他没有给我胶水。只想获取集成的真实示例。