En utilisant un seul Registre RMI
J'ai été en utilisant RMI pour un projet que je suis en train de travailler sur et je veux lier à partir de plusieurs hôtes d'un seul registre RMI.
Cependant lorsque j'essaie de le faire, j'obtiens un message d'erreur indiquant que
java.rmi.AccessException: Registre.De registre.lier rejetée; origine /192.168.0.9 est non-hôte local
Je l'ai fait une recherche sur google et il semble que le RMI s'arrête hôtes distants de liaison par défaut, ce que je veux savoir est-il un moyen de substitution ou de passer à côté de cette?
Si quelqu'un à des suggestions sur la façon de sortir de cette question, ils seraient très appréciées, j'ai essayé d'utiliser différents fichiers de stratégie et de substitution de la sécurité de la crèche, mais aucune ne semble fonctionner.
OriginalL'auteur Mark Davidson | 2009-05-04
Vous devez vous connecter pour publier un commentaire.
Il existe un moyen de contourner la limitation, mais elle est ce qu'elle est: un travail autour de. De toute façon, n'hésitez pas à l'essayer. Il travaille pour nous.
Sur l'hôte qui exécute la centrale RMI registre exécuter un petit service qui va la lier à un objet distant que d'une seule télécommande méthode: proxyRebind. La mise en œuvre de cette méthode se lie à l'objet qui est fourni dans le registre central (ce qui ne manquerait pas parce que le registre est sur la même machine que ce service).
Tous les autres hôtes serait tout simplement lookup cet objet distant et invoquer proxyRebind avec leurs propres objets à distance.
Cela fonctionne parce que le regard sur hébergée à distance registres est autorisé. L'original de votre tentative a échoué car la liaison sur hébergée à distance des registres n'est pas autorisé.
Laissez-moi savoir si vous avez besoin de plus de clarté sur ce point.
/RS
Si elle était fermée, il se serait passé il y a longtemps! J'ai fait cette mise en œuvre pour les 10 dernières années!
rndm.bouée j'ai tenté de mettre en œuvre et l'objet n'a en effet de lier le fait cependant lorsque je tente de l'appeler une méthode distante-je obtenir de l'exception
java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
même si la distance de l'objet doit se résoudre à l'IP 192.168.126.137 je me demandais si il y a quelque chose qui me manque, pourriez-vous vous étendre sur votre suggestion, il serait greately apprécié.OriginalL'auteur user40552
Cela fonctionne parfaitement. La seule chose à prendre soins suivants doivent toujours être correctement réglé.
-Djava.rmi.serveur.hostname="LOCAL IP de l'HÔTE"
java.rmi.server.hostname
dans un hôte multirésident ou si il ya quelque chose de mal avec votre DNS comme décrit dans l'article A. 1 du RMI FAQ.OriginalL'auteur
J'ai peut-être un malentendu à votre question, si oui, s'il vous plaît laissez-moi savoir.
J'ai peu d'expérience avec Java RMI, nous l'avons utilisé dans nos Modèles de Conception de classe avec le Modèle de Proxy. (Manuel De Base: La Tête La Première Des Modèles De Conception)
Nous n'avons pas pu obtenir de nos projets de travail à partir de l'extérieur du réseau de l'université, mais ils fonctionnaient parfaitement lorsqu'il est connecté directement au réseau. Selon le professeur, il n'était pas possible d'utiliser RMI dans notre implémentation sur internet ou wan. Une solution qu'elle a été suggéré qu'un VPN serait nécessaire. Je crois que Vladimir est correct en ce qu'il a à faire avec elle être un local de service de nommage.
OriginalL'auteur Aaron
J'ai peut-être tort, mais il semble que rmiregistry application est essentiellement d'une enveloppe de plus de nommage local de service. Ce qui signifie qu'il n'y a aucun moyen de faire pointer des objets éloignés.
Ce que vous avez besoin est une Appellation de la mise en œuvre, et en cluster. Envisager de déplacer en J2EE en tant QUE solution de clustering. Arborescence JNDI est partagée au sein du cluster.
OriginalL'auteur Vladimir Dyuzhev
Merci pour tout le monde répond à la solution je suis venu, en fin de compte à utiliser le Cajo Cadre cela donne un système très flexible pour la distribution et il a permis à moi de gérer le registre que j'ai vu ajustement. Il peut également fonctionner derrière des Nat, pare-feu et les serveurs proxy HTTP, ce qui est très utile.
Je crois que la méthode de la fonction de proxy suggéré par rndm.bouée de travail dans certains cas, mais sa peut être gênant sur certains systèmes. RMI semble avoir quelques problèmes avec les associant à la mauvaise Interface Réseau j'ai particulièrement eu ce problème lors de l'exécution sur les distributions Linux basées sur Debian.
OriginalL'auteur Mark Davidson