//: 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
闽公网安备 35060202000074号