¡¡¡¡JavaÔ¶³Ì·½·¨µ÷Ó㬼´Java RMI£¨Java Remote Method Invocation£©ÊÇJava±à³ÌÓïÑÔÀһÖÖÓÃÓÚʵÏÖÔ¶³Ì¹ý³Ìµ÷ÓõÄÓ¦ÓóÌÐò±à³Ì½Ó¿Ú¡£Ëüʹ¿Í»§»úÉÏÔËÐеijÌÐò¿ÉÒÔµ÷ÓÃÔ¶³Ì·þÎñÆ÷ÉϵĶÔÏó¡£Ô¶³Ì·½·¨µ÷ÓÃÌØÐÔʹJava±à³ÌÈËÔ±Äܹ»ÔÚÍøÂç»·¾³Öзֲ¼²Ù×÷¡£RMIÈ«²¿µÄ×ÚÖ¼¾ÍÊǾ¡¿ÉÄܼò»¯Ô¶³Ì½Ó¿Ú¶ÔÏóµÄʹÓá£
¡¡¡¡Ò»¡¢´´½¨RMI³ÌÐòµÄ4¸ö²½Öè
¡¡¡¡1¡¢¶¨ÒåÒ»¸öÔ¶³Ì½Ó¿ÚµÄ½Ó¿Ú£¬¸Ã½Ó¿ÚÖеÄÿһ¸ö·½·¨±ØÐëÉùÃ÷Ëü½«²úÉúÒ»¸öRemoteExceptionÒì³£¡£
¡¡¡¡2¡¢¶¨ÒåÒ»¸öʵÏָýӿڵÄÀà¡£
¡¡¡¡3¡¢´´½¨Ò»¸ö·þÎñ£¬ÓÃÓÚ·¢²¼2Öж¨ÒåµÄÀà¡£
¡¡¡¡4¡¢´´½¨Ò»¸ö¿Í»§³ÌÐò½øÐÐRMIµ÷Óá£
¡¡¡¡¶þ¡¢³ÌÐòµÄÏêϸʵÏÖ
¡¡¡¡1.Ê×ÏÈÎÒÃÇÏÈ´´½¨Ò»¸öʵÌåÀ࣬Õâ¸öÀàÐèҪʵÏÖSerializable½Ó¿Ú£¬ÓÃÓÚÐÅÏ¢µÄ´«Êä¡£
1 import java.io.Serializable; 3 public class Student implements Serializable { 5 private String name; 7 private int age; 9 public String getName() { 11 return name; 13 } 15 public void setName(String name) { 17 this.name = name; 19 } 21 public int getAge() { 23 return age; 25 } 27 public void setAge(int age) { 29 this.age = age; 31 } 33 } |
¡¡¡¡2.¶¨ÒåÒ»¸ö½Ó¿Ú£¬Õâ¸ö½Ó¿ÚÐèÒª¼Ì³ÐRemote½Ó¿Ú£¬Õâ¸ö½Ó¿ÚÖеķ½·¨±ØÐëÉùÃ÷RemoteExceptionÒì³£¡£
¡¡¡¡1 import java.rmi.Remote;
¡¡¡¡3 import java.rmi.RemoteException;
¡¡¡¡5 import java.util.List;
¡¡¡¡6 public interface StudentService extends Remote {
¡¡¡¡12 List<Student> getList() throws RemoteException;
¡¡¡¡14 }
¡¡¡¡3.´´½¨Ò»¸öÀ࣬²¢ÊµÏÖ²½Öè2ÖеĽӿڣ¬µ«»¹ÐèÒª¼Ì³ÐUnicastRemoteObjectÀàºÍÏÔʾд³öÎ޲εĹ¹Ô캯Êý¡£
1 import java.rmi.RemoteException; 3 import java.rmi.server.UnicastRemoteObject; 5 import java.util.ArrayList; 7 import java.util.List; 11 public class StudentServiceImpl extends UnicastRemoteObject implements 13 StudentService { 15 public StudentServiceImpl() throws RemoteException { 17 } 21 public List<Student> getList() throws RemoteException { 23 List<Student> list=new ArrayList<Student>(); 25 Student s1=new Student(); 27 s1.setName("ÕÅÈý"); 29 s1.setAge(15); 31 Student s2=new Student(); 33 s2.setName("ÀîËÄ"); 35 s2.setAge(20); 37 list.add(s1); 39 list.add(s2); 41 return list; 43 } 45 } |