Выдающая проблема при использовании rmi - PullRequest
2 голосов
/ 31 декабря 2011

я пытаюсь использовать RMI.Код ниже - это код, который я использую для привязки.

    @Override
    public void init(String serviceName) throws RemoteException {
    /*if(System.getSecurityManager() == null){
        System.setSecurityManager(new RMISecurityManager());
    }*/
    try {
        String host = InetAddress.getLocalHost().getHostName();
        String url = "rmi://"+ host + "/"+ serviceName;
        //String url = "//localhost/" + serviceName;
        Naming.rebind(url,this);
    } catch (UnknownHostException e) { 
        e.printStackTrace();
    } catch (MalformedURLException e) { 
        e.printStackTrace();
    }
}

независимо от того, какой URL я использую, я получаю исключение ниже.Он никогда не находит класс для маршала.Может кто-нибудь помочь мне об этой проблеме.Заранее спасибо.

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.lang.ClassNotFoundException: ceng443.hw3.base.SocialNetworkServer

1 Ответ

0 голосов
/ 31 декабря 2011

Вам нужен менеджер безопасности, чтобы загрузить любой код с использованием RMI, но он закомментирован во фрагменте, который вы разместили. Можете ли вы попробовать раскомментировать настройки безопасности?

...