首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

最小的RMI例证(jdk6)

2012-11-05 
最小的RMI例子(jdk6)编写了一个最小的RMI例子(JDK1.6)服务器端package stg.serverimport java.rmi.Remote

最小的RMI例子(jdk6)

编写了一个最小的RMI例子(JDK1.6)

服务器端

package stg.server;import java.rmi.Remote;import java.rmi.RemoteException;public interface Service extends Remote {String echo(String client) throws RemoteException;}

?

?

package stg.server;import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;public class ServiceImpl extends UnicastRemoteObject implements Service {protected ServiceImpl() throws RemoteException {super();}public String echo(String client) throws RemoteException{return "From rmi Server: Hello! " + client;}}

?

package stg.server;import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;public class Deploy {/** * @param args * @throws NamingException  * @throws RemoteException  */public static void main(String[] args) throws NamingException, RemoteException {Service service = new ServiceImpl();//registryLocateRegistry.createRegistry(25002);//contextContext namingCtx = new InitialContext();//bindnamingCtx.bind("rmi://localhost:25002/service", service);}}

?客户端

?

package stg.client;import javax.naming.Context;import javax.naming.InitialContext;import stg.server.Service;public class Client {public static void main(String[] args) throws Exception {Context namingCtx = new InitialContext();Service service = (Service)namingCtx.lookup("rmi://192.168.8.2:25002/service");String echo = service.echo("StoneGreen");System.out.println(echo);}}

??

Exception in thread "main" javax.naming.CommunicationException [Root exception is java.rmi.MarshalException: error marshalling arguments; nested exception is: java.io.NotSerializableException: com.ccl.rmi.util.ServiceImpl]at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:126)at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:208)at javax.naming.InitialContext.bind(InitialContext.java:400)at com.ccl.rmi.util.Deploy.main(Deploy.java:30)Caused by: java.rmi.MarshalException: error marshalling arguments; nested exception is: java.io.NotSerializableException: com.ccl.rmi.util.ServiceImplat sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:120)... 3 moreCaused by: java.io.NotSerializableException: com.ccl.rmi.util.ServiceImplat java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)... 5 more

热点排行