Scala Remote Actors - Подводные камни - PullRequest
5 голосов
/ 21 июля 2010

При написании кода Scala RemoteActor я заметил некоторые подводные камни:

  • RemoteActor.classLoader = getClass (). GetClassLoader () должен быть установлен во избежание «java.lang.ClassNotFoundException»
  • ссылка не всегда работает из-за "состояния гонки, при котором NetKernel (средство, отвечающее за удаленную пересылку сообщений), поддерживающего удаленного субъекта, может закрыться до того, как прокси удаленного субъекта (в частности, делегат прокси) имеетимел возможность удаленно отправить сообщение с указанием локального выхода. "(Стефан Ту)
  • RemoteActor.select не всегда возвращает один и тот же делегат ( RemoteActor.select - детерминированный результат? )
  • Отправка делегата по сети предотвращаетприложение для обычного выхода ( незарегистрированный субъект RemoteActor )
  • Удаленные субъекты не прекратят работу, если RemoteActor.alive () и RemoteActor.register () будут использоваться вне действия.(См. Ответ Магнуса)

Есть ли какие-либо другие подводные камни, о которых должен знать программист?

1 Ответ

2 голосов
/ 25 июля 2010

Вот еще один;вам нужно поместить вызовы RemoteActor.alive () и RemoteActor.register () в ваш метод act, когда вы определяете своего актера, или актер не завершится, когда вы вызовете exit ();см. Как убить RemoteActor?

...