2015-04-26 3 views
0

Я создаю проект с технологией RMI, и он работает так, как я хочу, но теперь я хочу загрузить свой класс RMI на сервер, как и что мне делать?running java rmi server

Я пытался сделать это:

public static void main (String [] arg) { 
    try { 
     LocateRegistry.createRegistry(30); 
     Registry reg = LocateRegistry.getRegistry("127.0.0.1",30); 
     ImbCal c = new ImbCal(); 

     reg.rebind("MSA", c); 
     reg.rebind("Work", c); 

     System.out.println("Server is ready ...."); 

     System.in.read(); 


    }catch(Exception ex){ 
     ex.printStackTrace(); 
     System.out.print(ex.getMessage()); 
    } 
} 

Я знаю, что должен:

  1. изменения LOCALHOST адреса.
  2. создать банку развертывания для сервера, например, уха или войны.

Я уже создал интерфейс и класс клиента, а также проверял свой проект локально и отлично работает.

+1

Что означает «загрузка моего класса RMI на сервер»? – EJP

+0

Я имею в виду «загрузить мой класс RMI на сервер», который я хочу запустить через сервер, а не локально. Кроме того, я хочу знать, как создать банку развертывания. Спасибо –

ответ

0

Я пробовал много, пока я не решил, я просто необходимо создать реестр в классе сервера в клиентском классе я должен получить реестр по адресу серверного класса

класса Сервер:

try { 
    /*here create the registry*/ 
    Registry reg = LocateRegistry.createRegistry(30); 
    ImbCal c = new ImbCal(); 
    reg.rebind("MSA", c); 
    reg.rebind("Work", c); 
    System.out.println("Server is ready ...."); 
    System.in.read(); 
}catch(Exception ex){ 
    ex.printStackTrace(); 
    System.out.print(ex.getMessage()); 
} 

Класс клиента:

 try {    
      Registry myReg = LocateRegistry.getRegistry("192.168.1.5",30);  
      System.out.println("running..."); 
      CalInterface c= (CalInterface)myReg.lookup("MSA");  
      WorkInterface w= (WorkInterface)myReg.lookup("Work"); 
     } catch (Exception e) { 
      e.printStackTrace(); 

     } 

} 
+1

Что это связано с 'upload [ing] мой класс RMI на сервер'? – EJP