У меня есть сервер и клиент, использующий Java RMI.
Для упрощения на сервере существует метод, возвращающий Task (iTask) и получающий iTask.
Например, сервер:
interface iTask extends Remote{
void publicMethod();
}
class Task extends UnicastRemoteObject implements iTask
{
public void publicMethod(){...} //interface
void packageMethod(){...} //not interface
}
И методы в каком-то (неважно, в каком) классе:
iTask getTask(){
return new Task();
}
void doSomethingSecret(iTask task){
Task needthis = (Task)task; //BOOM! ClassCastException: $Proxy9 cannot be cast to nextQuest.server.Task
needthis.packageMethod(); // I need this...
}
В клиенте я просто
iTask tsk = abc.getTask()
def.doSomethingSecret(tsk);
abc и def являются удаленными объектами!
Есть ли какой-нибудь способ, как назвать "packageMethod"? Большое спасибо,
Майк С. (cz)