2013-02-16 85 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來解決這個問題,以便觀察節點故障並作出反應。