Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RMI连接被拒绝_Java_Rmi - Fatal编程技术网

Java RMI连接被拒绝

Java RMI连接被拒绝,java,rmi,Java,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.n

从策略文件:

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";
有此代码:

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.
在最后一行
registry.rebind(remoteObjName,stub)上,是什么导致了此异常

java.rmi.ConnectException:拒绝连接主机:127.0.0.1;嵌套异常是:
java.net.ConnectException:连接被拒绝:连接
位于sun.rmi.transport.tcp.TCPEndpoint.newSocket(未知源)
位于sun.rmi.transport.tcp.tcpcchannel.createConnection(未知源)
位于sun.rmi.transport.tcp.tcpcchannel.newConnection(未知源)
位于sun.rmi.server.UnicastRef.newCall(未知源)
位于sun.rmi.registry.RegistryImpl_Stub.rebind(未知源)
在app.ConnectionHandler$QAProbeRemote.startEngine(ConnectionHandler.java:47)
在app.Main.(Main.java:71)
在app.Main$1.run(Main.java:49)
在java.awt.event.InvocationEvent.dispatch(未知源)处
位于java.awt.EventQueue.dispatchEventImpl(未知源)
位于java.awt.EventQueue.access$000(未知源)
在java.awt.EventQueue$1.run处(未知源)
在java.awt.EventQueue$1.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.AccessControlContext$1.doIntersectionPrivilege(未知源)
位于java.awt.EventQueue.dispatchEvent(未知源)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源)
位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源)
位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.run(未知源)
原因:java.net.ConnectException:连接被拒绝:连接
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.PlainSocketImpl.doConnect(未知源)
位于java.net.PlainSocketImpl.connectToAddress(未知源)
位于java.net.PlainSocketImpl.connect(未知源)
位于java.net.socksocketimpl.connect(未知源)
位于java.net.Socket.connect(未知源)
位于java.net.Socket.connect(未知源)
位于java.net.Socket。(未知源)
位于java.net.Socket。(未知源)
位于sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(未知源)
位于sun.rmi.transport.proxy.rmisMasterSocketFactory.createSocket(未知源)
... 还有22个

您尚未启动注册表,因此连接失败。

您需要启动JRE文件夹中的“rmiregistry”注册表

例如,假设您的JRE文件夹位于:C:\Program Files\Java\jre1.8.0\u 271\bin中

您可以转到该文件夹并运行rmiregistry.exe

rmiregistry.exe将在控制台中运行。把它放在后台

如果您希望通过cmd执行此操作,请遵循以下步骤:

打开cmd,然后写入:

cd C:\Program Files\Java\jre1.8.0\U 271\bin

点击“回车”,然后写入:

启动注册表


然后再次单击“回车”。

您是否在操作系统中运行了
$rmiregistry
?您应该检查:您尚未启动注册表,因此连接失败。请将此作为答案添加,以便我可以接受。是的,只需在命令提示符中键入命令“rmiregistry”。您的意思是启动rmiregistry服务?
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