Topic: rmi出错 |
Print this page |
1.rmi出错 | Copy to clipboard |
Posted by: lisycn Posted on: 2005-09-07 23:00 编译通过了,是不是policy文件没有配好. 程序如下: ----- PerfectTimeI.java ------ import java.rmi.*; interface PerfectTimeI extends Remote{ long getPerfectTime() throws RemoteException; } ----------------------------------------------------------------------------------------------- --------- PerfectTime.java ----------- import java.rmi.*; import java.rmi.server.*; import java.rmi.registry.*; import java.net.*; public class PerfectTime extends UnicastRemoteObject implements PerfectTimeI{ public long getPerfectTime() throws RemoteException{ return System.currentTimeMillis(); } public PerfectTime() throws RemoteException{ } public static void main(String args[]) throws Exception { System.setSecurityManager(new RMISecurityManager()); PerfectTime pt=new PerfectTime(); Naming.bind("//lishy:1099/PerfectTime",pt); System.out.println("Ready to do time"); } } --------------------------------------------------------------------------------------------------- ---------- DisplayPerfectTime.java ------- import java.rmi.*; import java.rmi.registry.*; public class DisplayPerfectTime{ public static void main(String args[]) throws Exception{ System.setSecurityManager(new RMISecurityManager()); PerfectTime t=(PerfectTime)Naming.lookup("//lishy:1099/PerfectTime"); for(int i=0;i<10;i++) System.out.println("Perfect time=" + t.getPerfectTime()); } } --------------------------------------------------------------------------------------------------- ----- DisplayPerfectTime.policy和PerfectTime.policy如下 grant codebase "file:\li\c15" { permission java.net.SocketPermission "lishy:1099","accept,connect,listen,resolve"; }; --------------------------------------------------------------------------------------------------- 运行时java -Djava.security.policy=PerfectTime.policy PerfectTime 报错: D:\li\c15>java -Djava.security.policy=PerfectTime.policy PerfectTime Exception in thread "main" java.security.AccessControlException: access denied java.net.SocketPermission lishy resolve) at java.security.AccessControlContext.checkPermission(AccessControlCon xt.java:270) at java.security.AccessController.checkPermission(AccessController.jav 401) at java.lang.SecurityManager.checkPermission(SecurityManager.java:542) at java.lang.SecurityManager.checkConnect(SecurityManager.java:1042) at java.net.InetAddress.getAllByName0(InetAddress.java:937) at java.net.InetAddress.getAllByName0(InetAddress.java:918) at java.net.InetAddress.getAllByName(InetAddress.java:912) at java.net.InetAddress.getByName(InetAddress.java:832) at java.net.InetSocketAddress.<init>(InetSocketAddress.java:109) at java.net.Socket.<init>(Socket.java:119) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDire SocketFactory.java:22) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMast SocketFactory.java:128) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:1 ) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:313) at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source) at java.rmi.Naming.bind(Naming.java:111) at PerfectTime.main(PerfectTime.java:15) 谁能帮帮我啊!!!困惑好久了,找不出哪有问题 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |