Mega Code Archive

 
Categories / Java Tutorial / Spring
 

RMI Remoting

File: context.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>    <bean id="rmserver" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">      <property name="serviceUrl">          <value>rmi://localhost/rmserver</value>         </property>      <property name="serviceInterface">          <value>rmserver</value>      </property>    </bean>    <bean class="org.springframework.remoting.rmi.RmiServiceExporter">      <property name="service">          <value>rmservice</value>         </property>      <property name="serviceName">          <value>service1</value>         </property>      <property name="serviceInterface">          <value>rmservice</value>      </property>    </bean>    <bean id="rmservice" class="RMIserviceimpl">    </bean>    <bean id="rmserverimpl" class="RMIserverimpl">       <property name="rmserver"><ref bean="RMIserver"/></property>    </bean>     </beans> File: Main.java import java.rmi.Naming; import java.rmi.Remote; import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; class rmserviceclient {   public static void main(String args[]) throws Exception {     Resource res = new ClassPathResource("context.xml");     BeanFactory factory = new XmlBeanFactory(res);     RMIServer bean1 = (RMIServer) factory.getBean("RMIServer");     String r = bean1.getresult("asdf");     System.out.println(r);     // ////////////client/////////////////     res = new ClassPathResource("context.xml");     factory = new XmlBeanFactory(res);     RMIservice bean2 = (RMIservice) factory.getBean("RMIservice");     String s = bean2.getresult("AAA");     System.out.println(s);   } } interface RMIservice {   String getresult(String s); } interface RMIServer extends Remote {   String getresult(String s) throws RemoteException; } class RMIserviceimpl implements RMIservice {   public static void main(String args[]) {     System.out.println("ready");   }   public RMIserviceimpl() {     System.out.println("constructor   ok");   }   public String getresult(String a) {     String r = "Hi " + a;     return r;   } } class RMIserverimpl extends UnicastRemoteObject implements RMIServer {   public static void main(String args[]) {     try {       RMIserverimpl ob = new RMIserverimpl();       Naming.rebind("RMIServer", ob);       System.out.println("ready");     } catch (Exception e1) {       System.out.println("registered");     }   }   public RMIserverimpl() throws RemoteException {     System.out.println("constructor   ok");   }   public String getresult(String a) throws RemoteException {     String r = "hi " + a;     return r;   } }