2012-09-18 3 views
0

를 거부 :자바 RMI 연결은 정책 파일에서

permission java.net.SocketPermission "localhost:1024-", "listen, resolve"; 
permission java.net.SocketPermission "localhost:1099", "connect, resolve"; 
permission java.net.SocketPermission "localhost:1024-", "connect, resolve"; 
permission java.net.SocketPermission "localhost:1024-", "accept, resolve"; 

이 코드를 갖는

java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
     java.net.ConnectException: Connection refused: connect 
     at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) 
     at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) 
     at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) 
     at sun.rmi.server.UnicastRef.newCall(Unknown Source) 
     at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) 
     at app.ConnectionHandler$QAProbeRemote.startEngine(ConnectionHandler.java:47) 
     at app.Main.<init>(Main.java:71) 
     at app.Main$1.run(Main.java:49) 
     at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
     at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
     at java.awt.EventQueue.access$000(Unknown Source) 
     at java.awt.EventQueue$1.run(Unknown Source) 
     at java.awt.EventQueue$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
     at java.awt.EventQueue.dispatchEvent(Unknown Source) 
     at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
     at java.awt.EventDispatchThread.run(Unknown Source) 
    Caused by: java.net.ConnectException: Connection refused: connect 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.PlainSocketImpl.doConnect(Unknown Source) 
     at java.net.PlainSocketImpl.connectToAddress(Unknown Source) 
     at java.net.PlainSocketImpl.connect(Unknown Source) 
     at java.net.SocksSocketImpl.connect(Unknown Source) 
     at java.net.Socket.connect(Unknown Source) 
     at java.net.Socket.connect(Unknown Source) 
     at java.net.Socket.<init>(Unknown Source) 
     at java.net.Socket.<init>(Unknown Source) 
     at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source) 
     at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source) 
     ... 22 more 
+0

운영체제에서 '$ rmiregistry ' 를 실행 했습니까? – gersonZaragocin

+1

다음을 확인하십시오. http://stackoverflow.com/questions/1823305/rmi-connection-refused-with-localhost?rq=1 – gersonZaragocin

+3

레지스트리를 시작하지 않았으므로 연결이 실패합니다. – jtahlborn

답변

2

당신에게 : 마지막 줄 registry.rebind(remoteObjName, stub);에,이 예외의 원인이 무엇

remoteObjName = "blabla"; 
final objectInterface engine = new object(); 
final Remote stub = UnicastRemoteObject.exportObject(engine, 0); 
final Registry registry = LocateRegistry.getRegistry(); 
registry.rebind(remoteObjName, stub);//this line causes the exception. 

레지스트리를 시작하지 않았기 때문에 연결이 실패합니다.

+0

감사합니다. 문제가 – CosminO

+0

이었습니다. rmiregistry 서비스를 시작하셨습니까? – user1533481