我的RMI实践

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

//: 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:\rmijava PerfectTime

Ready to do time

F:\rmijavac *.java

F:\rmirmic PerfectTime

F:\rmistart rmiregistry

F:\rmijava PerfectTime

Ready to do time

另开一DOS窗口

F:\rmijava -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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航