2013-02-16 3 views
0

Если вы говорите, что код, который использует мой актер (код, который я не контролирую), генерирует необработанное исключение, может ли это привести к сбою всего процесса системы актеров или к тому, какой-то специальный контейнер?akka actor failure влияет на процесс os

Чтобы уточнить, в моем случае, я хочу, чтобы каждый актер загружал (во время выполнения) некоторый код, написанный пользователем, и вызывал на нем некоторые методы интерфейса. Эти библиотеки могут быть ошибочными и потенциально могут привести к тому, что моя актерская система будет умирать или останавливаться или что-то в этом роде. Я имею в виду, что если код, вызываемый актором, делает что-то, что останавливается (например, доступ к удаленному ресурсу с помощью багги-клиента или мертвой петли) или даже вызывает Enviroment.exit() или что-то плохое.

Я имею в виду, если я хочу, чтобы каждый актер загружал код, который у меня не контролируется, как я могу защитить свою актерскую систему от них? Нужно ли мне это делать?

Один из способов, с помощью которого я могу думать, что весь процесс ОС ОС охраняет себя от этого стороннего кода, заключается в том, чтобы запускать каждого актера внутри какого-либо контейнера или события, для каждой актера на локальной машине действует одна актерская система, которую контролирует мой актер ? Должен ли я зайти так далеко, или акка уже позаботится об этом для меня, и любая неудача на уровне актера не поставит под угрозу всю актерскую систему и ее процесс?

+0

Вы читали: http://doc.akka.io/docs/akka/2.1.0/general/supervision.html –

+0

Извините, мой вопрос был недостаточно ясным. Я просто обновляю его! – iCode

ответ

0

Если процесс JVM умирает, процесс JVM умирает. Вы обходите это, используя Akka Cluster, чтобы вы могли наблюдать и реагировать на отказы узлов.