Java远程方法调用实践

来源:本站
导读:目前正在解读《Java远程方法调用实践》的相关信息,《Java远程方法调用实践》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《Java远程方法调用实践》的详细说明。
简介:介绍Java远程方法调用实践

服务器端业务接口

public interface Biz extends Remote {

public String aloha() throws RemoteException;

}

服务器端业务实现

public class BizImpl extends UnicastRemoteObject implements Biz {

private static final long serialVersionUID = -8559392326593037120L;

public BizImpl() throws RemoteException {

super();

}

@Override

public String aloha() throws RemoteException {

return "Aloha Baby.";

}

}

服务器注册远程实现名称

public class Server {

public Server() {

try {

Biz bis = new BizImpl();

// style-1

Registry registry = LocateRegistry.createRegistry(RMIParameter.PORT);

registry.rebind(RMIParameter.NAME, bis); // replace existing binding name

// style-2

//java.rmi.Naming.rebind(RMIParameter.NAME, bis); // replace existing binding name

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String args[]) {

new Server();

}

}

style-2 需要指定一个Policy文件或者运行rmiregistry

java -Djava.security.policy=folder_x/rmi/policy_file creative.fire.rmi.Server

Policy文件的内容为:

grant{

permission java.net.SocketPermission "localhost:9527", "connect, resolve";

};

运行rmiregistry是修改 JDK 目录下的jre/lib/security/java.policy

rmiregistry(linux)

start rmiregistry(windows)

允许任何人(targets)作任何事情(actions):

grant{

permission java.security.AllPermission "","";

};

OR

grant {

permission java.security.AllPermission;

};

客户端打桩调用

public class Client {

public static void main(String args[]) {

try {

Biz bis = (Biz) Naming.lookup(RMIPREFIX PORT NAME);

System.out.println(bis.aloha());

} catch (Exception e) {

e.printStackTrace();

}

}

}

提醒:《Java远程方法调用实践》最后刷新时间 2024-03-14 01:04:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《Java远程方法调用实践》该内容的真实性请自行鉴别。