站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题我的RMI实践

我的RMI实践

摘要: 我的RMI实践
注:本文所涉及代码转自thinking in java ,但有改动
四个文件:
//: c15:rmi:PerfectTime.java
// From 'Thinking in Java, 2nd ed.' by Bruce Eckel
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
// The implementation of
// the PerfectTime remote object.
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;

public class PerfectTime
extends UnicastRemoteObject
implements PerfectTimeI {
// Implementation of the interface:
public long getPerfectTime()
throws RemoteException {
return System.currentTimeMillis();
}
// Must implement constructor
// to throw RemoteException:
public PerfectTime() throws RemoteException {
// super(); // Called automatically
}
// Registration for RMI serving. Throw
// exceptions out to the console.
public static void main(String[] args) throws Exception {
PerfectTime pt = new PerfectTime();
Naming.rebind("/PerfectTime", pt);
System.out.println("Ready to do time");
}
} ///:~
//: c15:rmi:PerfectTimeI.java
// From 'Thinking in Java, 2nd ed.' by Bruce Eckel
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
// The PerfectTime remote interface.
import java.rmi.*;

interface PerfectTimeI extends Remote {
long getPerfectTime() throws RemoteException;
} ///:~
//: c15:rmi:DisplayPerfectTime.java
// From 'Thinking in Java, 2nd ed.' by Bruce Eckel
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
// Uses remote object PerfectTime.
import java.rmi.*;
import java.rmi.registry.*;

public class DisplayPerfectTime {
public static void main(String[] args)
throws Exception {
System.setSecurityManager(
new RMISecurityManager());
PerfectTimeI t = (PerfectTimeI)Naming.lookup("/PerfectTime");
for(int i = 0; i < 10; i++)
System.out.println("Perfect time = " +
t.getPerfectTime());
}
} ///:~
grant {
// Allow everything for now
permission java.security.AllPermission;
};

存入于F:\rmi下
操作步骤
F:\rmi>java PerfectTime
Ready to do time
F:\rmi>javac *.java
F:\rmi>rmic PerfectTime
F:\rmi>start rmiregistry
F:\rmi>java PerfectTime
Ready to do time
另开一DOS窗口
F:\rmi>java -Djava.security.policy=registerit.policy DisplayPerfectTime
Perfect time = 1011585443953
Perfect time = 1011585443968
Perfect time = 1011585444000
Perfect time = 1011585444000
Perfect time = 1011585444015
Perfect time = 1011585444031
Perfect time = 1011585444031
Perfect time = 1011585444046
Perfect time = 1011585444062
Perfect time = 1011585444062
注意:如果在rmic PerfectTime时报找不到PerfectTime类,请在环境变量中的ClassPath中加入:F:\rmi
出处 CN-JAVA原创:hibomb Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd, scwcd
↑返回目录
前一篇: 一个CMP的例子(一)
后一篇: Resin服务器平台介绍简介