Scala RemoteActorコードを書いているときに、いくつかの落とし穴に気づきました。
- 「java.lang.ClassNotFoundException」を回避するには、RemoteActor.classLoader = getClass()。getClassLoader()を設定する必要があります
- リンクは、「リモートアクターのプロキシ(より具体的には、プロキシデリゲート)が送信する前に、リモートアクターをバックアップするNetKernel(リモートでメッセージを転送する機能)が閉じることができる競合状態のため、常に機能するとは限りません。ローカル出口をリモートで示すメッセージ。」(ステファン・トゥ)
- RemoteActor.selectは、常に同じデリゲートを返すとは限りません(RemoteActor.select-結果は決定論的ですか?)
- ネットワーク経由でデリゲートを送信すると、アプリケーションが正常に終了しなくなります(RemoteActorの登録解除アクター)
- RemoteActor.alive()およびRemoteActor.register()がactの外部で使用されている場合、リモートアクターは終了しません。(マグナスの答えを参照してください)
プログラマーが知っておくべき他の落とし穴はありますか?