在 Joe Armstrong 的 Programming Erlang 的第 16.1 节中,作者描述了一种使用 Erlang 的 OTP 框架进行热代码交换的方法。我希望能够用 Akka 做到这一点。
给定一个不对称的 Akka 系统,其中 Comp A 和 Comp B 已经建立了远程通信。 A 想将 Int => Int 类型的函数 f 发送给 comp B 进行处理。然而,f 的定义不存在于 Comp B 的类路径中。有没有办法在不提前传输 A 的 jar 文件并添加自定义引导加载程序(即 OSGI)的情况下使这项工作正常进行?
最佳答案
我认为这行不通。如果接收 JVM 没有表示要发送的函数的匿名类定义,那么您将以 ClassNotFoundException
或其他类似内容结束。我以前试过这个但没有成功。它非常类似于 Java 中的 RMI 类型情况,其中系统的双方都必须具有适当的类定义才能正确通信。我猜这就是处理 JVM(和对象序列化)时野兽的本性。
关于scala - 如何在非对称系统中将对象发送到远程 akka actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16236742/