2012-04-05 4 views
0

У меня есть простой сервер RMI, который хранит файлы на карте и возвращает их по запросу. Тип файлов, хранящихся на карте, - это Object. Я сделал это, поэтому мне не нужно будет импортировать библиотеку с другой частью проекта, содержащей определенный файл (есть ли другой способ сделать это?).RMI Удаленное исключение: java.lang.ClassNotFoundException

Должен ли я быть в порядке без импорта, поскольку тип хранится как объект? В то же время с ошибкой я получаю java Finalizer thread crash. Вот стек:

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: util.MyClass (no security manager: RMI class loader disabled) 
Invalid memory access of location 0x0 rip=0x7fff91016390 <<< this is from crash 
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:334) 
    at sun.rmi.transport.Transport$1.run(Transport.java:159) 
    at java.security.AccessController.doPrivileged(Native Method) 

Также здесь часть кода от Клиента:

public void uploadProjects(List<MyClass> projects) { 
     try { 
      Object obj = projects; 
      rmiServer.upload(channel, obj); // <<<< exception on this line 
     } catch (RemoteException ex) { 
      Logger.getLogger(RMIClient.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 

А вот метод интерфейса:

void upload(String channel, Object projects) throws RemoteException; 

Я делаю что-то неправильно там? Должен ли он отлично работать с объектом без необходимости импорта определенного класса? Также я пробовал использовать диспетчер безопасности в прошлом, но это только приводило к большим проблемам и должно было делать AllPermissions для его работы (в другом проекте) ...

Аварийный сбой не всегда, но это должно быть причиной RMI.

ответ

0

Тип объектов , хранящихся на Карте, - это все, что вы вкладываете в него, и любой тип, который должен быть доступен клиенту, через его CLASSPATH.

Смежные вопросы