Pourquoi java rmi garder la connexion à 127.0.1.1. Lors de l'ip 192.168.X.X?

J'ai un java rmi application je n'ai tout simplement:

Client:

Registry registry = LocateRegistry.getRegistry("localhost");
costApi = (CostApi) registry.lookup("server.CostApi");

Tout fonctionne bien quand je l'hôte du serveur en localhost. Quand je lance le même programme sur une autre machine dans le réseau local, à 192.168.x.x et changement:

Client:

Registry registry = LocateRegistry.getRegistry("192.168.x.x");
costApi = (CostApi) registry.lookup("server.CostApi");

il ne fonctionne plus et il échoue avec une très étrange erreur:

java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is: 
    java.net.ConnectException: Connection refused
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
    at com.sun.proxy.$Proxy0.dataCost(Unknown Source)
    at billing.data.DataBiller.performBilling(DataBiller.java:57)
    at billing.data.DataBiller.consumeMessage(DataBiller.java:46)
    at general.templates.RabbitWorker.run(RabbitWorker.java:124)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)

Je ne suis même pas essayer de se connecter à 127.0.1.1 mais à 192.168.x.x, comment puis-je résoudre ce problème? Je préfère utiliser du code java uniquement et de ne pas modifier ma machine avec des fichiers de configuration. J'utilise linux

Votre /etc/hosts fichier est erroné.
Avez-vous essayez de mettre à jour votre hosts fichier avec un nom d'hôte spécifique, et ensuite passé que le nom d'hôte à getRegistry au lieu de l'adresse IP?
Oui j'ai essayé et cela n'a pas fonctionné. Maintenant 127.0.1.1 est mon nom d'utilisateur de l'ordinateur et j'ai aussi changé de 192.168.x.x
Le chemin du RMI œuvres de la première connexion à la base de registre et lui demander l'adresse de l'objet qui vous intéresse, puis connectez-vous à l'adresse du registre vous a donné pour parler de l'objet cible. Vous êtes connecté à la de registre sur 192.168.x.x mais le registre vous a donné 127.0.1.1 que l'adresse de l'objet cible.

OriginalL'auteur user264230 | 2014-05-05