代码之家  ›  专栏  ›  技术社区  ›  Craig P. Motlin

为什么Scala RemoteActors需要设置类加载器?

  •  5
  • Craig P. Motlin  · 技术社区  · 14 年前

    当使用Scala RemoteActors时,我得到一个ClassNotFoundException,它引用Scala.actors.remote.NetKernel。我模仿了别人的例子,加上 RemoteActor.classLoader = getClass.getClassLoader 对我的演员来说,现在一切都正常了。为什么这是必要的?

    1 回复  |  直到 14 年前
        1
  •  5
  •   jsuereth    14 年前

    https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/actors/scala/actors/remote/JavaSerializer.scala )用于将对象序列化到套接字或从套接字序列化对象的。还有一些路由代码和其他魔法。

    在任何情况下,用于远程处理的类加载器都非常重要。如果您不熟悉javarmi,我建议您查找它。在任何情况下,Scala在序列化/反序列化actors时选择的类加载器都位于RemoteActor上,默认为null。

    连载演员。