Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 现有的play应用程序,我是否应该向其中添加我的Actor系统和Actor API?_Scala_Playframework_Akka - Fatal编程技术网

Scala 现有的play应用程序,我是否应该向其中添加我的Actor系统和Actor API?

Scala 现有的play应用程序,我是否应该向其中添加我的Actor系统和Actor API?,scala,playframework,akka,Scala,Playframework,Akka,以下是当前场景: 我有一个正在使用play的现有web应用程序 我需要创建一个带有http接口的actor系统,它将重用#1中的一些库 为了简化开发(不必在开发过程中启动多个进程等),我考虑将我的actor system+http接口添加到现有的play应用程序中,如: http://localhost:8080/akka/api/.... 我相信我可以在application.conf中创建一个单独的akka线程池 生产配置: 现在,当我投入生产时,因为我的play应用程序将在多个web服务

以下是当前场景:

  • 我有一个正在使用play的现有web应用程序
  • 我需要创建一个带有http接口的actor系统,它将重用#1中的一些库
  • 为了简化开发(不必在开发过程中启动多个进程等),我考虑将我的actor system+http接口添加到现有的play应用程序中,如:

    http://localhost:8080/akka/api/....
    
    我相信我可以在application.conf中创建一个单独的akka线程池

    生产配置:

    现在,当我投入生产时,因为我的play应用程序将在多个web服务器上运行,所以我会有一个配置标志,它将在我的play应用程序中启用或禁用akka系统。 现在,我可以通过在配置中启用akka服务,将其部署到单个服务器(将来可以部署到更多服务器),并在其他常规www服务中禁用它

    这是个好主意,行吗? 如果是这样,我如何在配置中使用简单的标志来启用/禁用akka部分


    从我所看到的,人们通常从控制器内部启动akka系统,也许我可以在启动阶段启动,如果akka标志被禁用,就在启动时跳过它?

    我不知道人们通常会做什么,但我不会在控制器中启动。如果要使用自己的Akka系统,可以在Global.scala onStart函数中对其进行初始化。如果要在不同节点上进行不同的配置,可以使用环境变量或在命令行上传递不同的选项。请参阅@LionelPort的底部,这是最简单的部分,但如何关闭自定义akka代码。如果我只是没有实例化actorSystem,那就足够了?共享代码是分开的吗?您当前是否被迫重新使用当前应用程序?@Barry我不是被迫的,我有一个多项目sbt设置。但如果可能的话,我只想简化一下,不想在开发时运行两个应用程序。