【发布时间】:2015-10-16 11:29:22
【问题描述】:
这个要求可能听起来很奇怪,或者我不确定如何解决这个问题,我在这里尽我所能用下图解释
- 我有一个作为单个进程运行的现有应用程序 (
Legacy Application)。 -
Legacy Application对 java 版本、slf4j、spring 等有非常老的依赖。 - 为了使其具有容错性并为其添加一些监督,我将其包装在
Akka Actor中,并在不同的 JVM 和 Actor 系统中远程启动。 - 我从我的新应用程序启动这个旧版应用程序为
processor = context.actorOf(Props[Processor], "processor")
我的配置看起来像
deployment {
/newApplication/processor/ {
remote = "akka.tcp://ProcessingSystem@127.0.0.1:2552"
}
但由于Processor 具有所有旧依赖项,我也将它们放入我的新系统中:(
我在寻找什么?
- 有没有办法可以在 ActorSystem(和 JVM)中启动遗留应用程序,它可以被封装,但在新应用程序中有主管?
底线:我希望旧的依赖不泄漏,但由于其他 JVM 可以抛出 OOM,我想从外部监督(新 ActorSystem)
【问题讨论】:
-
说到依赖,是指sbt库依赖吗?您是否将包括遗留应用程序在内的全部内容捆绑在一个项目中?
-
legacyApplication被捆绑为一个大罐子,里面还有其他依赖项
标签: java scala akka typesafe typesafe-stack