私の特徴:
@remote trait Computer {
def execute(task: Task[Any]): Any
}
を定義するだけでComputerImpl
実装されるクラスのコンパニオンオブジェクト内のメインクラスのスニペット。Computer
execute
= task.execute()
val name = "Computer"
val engine: Computer = new ComputerImpl()
val stub = UnicastRemoteObject.exportObject(engine, 0).asInstanceOf[Computer]
このエラーが発生します:
system/ComputerImpl.scala:19: error: type mismatch;
found : api.Computer
required: java.rmi.Remote
val stub = UnicastRemoteObject.exportObject(engine, 0).asInstanceOf[Computer]
もっと明示的にすると消えてしまいますtrait Computer extends Remote
が、「Scala for Impatient」では、「Scalaは、クローン可能オブジェクトとリモートオブジェクトのインターフェースの代わりにアノテーション@cloneable
を使用しています」と書かれています。@remote
Cloneable
java.rmi.Remote
何が問題になっていますか?