3

Joe Armstrong による Programming Erlang のセクション 16.1 で、著者は、Erlang の OTP フレームワークを使用したホット コード スワップの方法について説明しています。これを Akka で実現したいと思います。

Comp A と Comp B がリモート通信を確立している非対称 Akka システムがあるとします。A は、 Int => Int 型の関数 f をコンプ B に送信して処理させたいと考えています。しかし、コンプBのクラスパスにfの定義が存在しません。事前にAのjarファイルを送信し、カスタムブートローダー(つまりOSGI)で追加せずにこれを機能させる方法はありますか?

4

1 に答える 1

0

これはうまくいかないと思います。受信側の JVM に、送信する関数を表す匿名クラス定義がない場合は、ClassNotFoundExceptionまたは同様のものになります。以前にこれを試しましたが、成功しませんでした。これは、適切に通信するためにシステムの両側にクラス定義が必要な Java の RMI タイプの状況にかなり似ています。これは、JVM (およびオブジェクトのシリアライゼーション) を扱うときの獣の性質にすぎないと思います。

于 2013-04-26T12:49:39.150 に答える