2013-02-16 83 views
0

如果说我的演员使用的代码(我无法控制的代码)抛出一个未处理的异常,这可能导致整个演员系统进程崩溃或每个演员正在运行某种特殊的容器?为了阐明更多,在我的使用案例中,我希望每个actor(在运行时)加载一些用户编写的代码/ lib并调用一些接口方法。这些库可能是越野车,并可能导致我的角色系统os进程死或暂停或类似的东西。我的意思是,如果actor所调用的代码做了某些事情(例如,通过一个错误的客户端或死循环访问远程资源),甚至调用Enviroment.exit()或某些不好的特性,该怎么办。akka演员失败影响os进程

我的意思是,如果我的要求是允许每个角色加载我无法控制的代码,那么我该如何防范我的演员系统对他们?我甚至必须这样做吗?

我可以认为整个演员系统的一种方法操作系统进程保护自己免受这些第三方代码的影响,就是在某种容器或事件中运行每个演员,在演员控制的本地计算机上为每个演员有一个演员系统?我必须走这么远,否则阿卡已经为我照顾了这一点,任何在演员层面的失败都不会危及整个演员系统及其过程?

+0

你看过了:http://doc.akka.io/docs/akka/2.1.0/general/supervision.html – 2013-02-16 22:16:09

+0

对不起,我的问题还不够清楚。我只是更新它! – iCode 2013-02-21 21:47:38

回答

0

如果JVM进程死亡,JVM进程就会死亡。您可以通过使用Akka Cluster来解决这个问题,以便观察节点故障并作出反应。