使用RMI远程调用,可以减少客户端与服务端对数据的转化过程
直接使用对象存放数据,但同时引了了些复杂问题
对RMI远程调用应该使用动态代理模式,而不是单纯的直接调用接口
还在对bean的管理问题,是否能与spring很好的接合?
Rem.java
RemClient.java
RemImpl.java
RemServer.java
使用rmic 生成stub 程序和 skeleton
客户端只需要用到RemClient.java和Rem.java
http://forum.iteye.com/viewtopic.php?t=3832&postdays=0&postorder=asc&start=0
直接使用对象存放数据,但同时引了了些复杂问题
对RMI远程调用应该使用动态代理模式,而不是单纯的直接调用接口
还在对bean的管理问题,是否能与spring很好的接合?
Rem.java
/*
* Created 2005-1-8
* (c); songsong zoday@hotmail.com
*/
package com.zoday.beans;
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
* @author songsong
*/
public interface Rem extends Remote {
public String getMessage(); throws RemoteException;
}
RemClient.java
/*
* Created 2005-1-8
* (c); songsong zoday@hotmail.com
*/
package com.zoday.client;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import com.zoday.beans.*;
/**
* @author songsong
*/
public class RemClient {
public static void main(String[] args); {
try {
String host = "192.168.0.251";
Rem remObject=(Rem);Naming.lookup("rmi://" + host + "/Rem");;
System.out.println(remObject.getMessage(););;
} catch (MalformedURLException e); {
e.printStackTrace();;
} catch (RemoteException e); {
e.printStackTrace();;
} catch (NotBoundException e); {
e.printStackTrace();;
}
}
}
RemImpl.java
/*
* Created 2005-1-8
* (c); songsong zoday@hotmail.com
*/
package com.zoday.server;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import com.zoday.beans.*;
/**
* @author songsong
*/
public class RemImpl extends UnicastRemoteObject implements Rem {
public RemImpl(); throws RemoteException {
}
public String getMessage(); throws RemoteException {
return ("hello songsong");;
}
}
RemServer.java
/*
* Created 2005-1-8
* (c); songsong zoday@hotmail.com
*/
package com.zoday.server;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.RemoteException;
/**
* @author songsong
*/
public class RemServer {
public static void main(String[] args); {
System.out.println("start");;
try {
RemImpl localObject = new RemImpl();;
Naming.rebind("//127.0.0.1/Rem", localObject);;
} catch (RemoteException e); {
e.printStackTrace();;
} catch (MalformedURLException e); {
e.printStackTrace();;
}
System.out.println("RMI start success");;
}
}
使用rmic 生成stub 程序和 skeleton
客户端只需要用到RemClient.java和Rem.java
http://forum.iteye.com/viewtopic.php?t=3832&postdays=0&postorder=asc&start=0