注:本文所涉及代码转自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 Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器