tengo un problema utilizando RMI de Java:de conexiones para RMI negado con localhost
Cuando estoy tratando de ejecutar mi servidor, aparece un ConnectException (ver más abajo).
excepción ocurre cuando se ejecuta el método de revinculación:
Runtime.getRuntime().exec("rmiregistry 2020");
MyServer server = new MyServer();
Naming.rebind("//localhost:2020/RemoteDataPointHandler", server);
cuando se utiliza RMI: // localhost: 2020/RemoteDataPointHandler lugar, no funciona bien. Además, usar el puerto predeterminado no funciona. También intenté usar la dirección ip 127.0.0.1, pero con el mismo efecto.
mis argumentos en tiempo de ejecución:
-Djava.security.policy=java.security.AllPermission
Exception in thread "main" java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:574) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306) at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) at java.rmi.Naming.rebind(Naming.java:160) at be.fortega.knx.server.Main.(Main.java:25) at be.fortega.knx.server.Main.main(Main.java:16) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433) at java.net.Socket.connect(Socket.java:524) at java.net.Socket.connect(Socket.java:474) at java.net.Socket.(Socket.java:371) at java.net.Socket.(Socket.java:184) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:569) ... 7 more
Yo diría que tienes un problema de tiempo aquí. El Registro no ha comenzado completamente cuando haces la nueva vinculación. – EJP