J'essaie de comprendre une URL de service JMX.
service:jmx:rmi://192.168.30.10:1234/jndi/rmi://192.168.30.10:2344/jmxrmi
Ce serait génial si quelqu'un pouvait m'aider à comprendre cela.
Merci
J'essaie de comprendre une URL de service JMX.
service:jmx:rmi://192.168.30.10:1234/jndi/rmi://192.168.30.10:2344/jmxrmi
Ce serait génial si quelqu'un pouvait m'aider à comprendre cela.
Merci
Je vais réutiliser une réponse que j'ai écrit précédemment pour cette question: Impossible de se connecter à Tomcat MBeanServer via jconsole dans Java6
Il n'est pas complet, mais qui pourraient vous aider:
Supposons que vous avez le Serveur JMX (alias "Agent JMX" alias "de la JVM vous souhaitez vous connecter') en cours d'exécution sur la CIBLE 'MACHINE' avec le RMI registry port au RMI REGISTRY PORT "et le JMX RMI port du serveur à "JMX RMI PORT du SERVEUR'.
Note:
jmxrmi
.L'URI suivante mènera à la réussite de la connexion (testé)
service:jmx:rmi://<TARGET_MACHINE>:<JMX_RMI_SERVER_PORT>/jndi/rmi://<TARGET_MACHINE>:<RMI_REGISTRY_PORT>/jmxrmi
Cela ressemble méchant. Nous allons couper à part.
Cette URI est un RFC2609 "Service location Protocol URL" (bon, c'est vraiment une URI, non?)
Il est composé de:
service
- une constante jmx:rmi
- le type de service composé de: type abstrait jmx
et schéma d'URL rmi
sap est décomposé en:
//<TARGET_MACHINE>:<JMX_RMI_SERVER_PORT>
- ipsite/jndi/rmi://<TARGET_MACHINE>:<RMI_REGISTRY_PORT>/jmxrmi
- URL de la partieUne bien informé JMX client se connecte à la "ipsite" faire JMX-sur-RMI les échanges; mais ce que le client JMX qui ne SAIT pas que le port? De la Patience...
URL de la partie est décomposée en:
/jndi/
- Ce qui semble dire au client JMX qu'il peut obtenir des renseignements de recherche à l'emplacement qui suitrmi://<TARGET_MACHINE>:<RMI_REGISTRY_PORT>/jmxrmi
- Oui, nous avons d'obtenir des informations sur la JMX RMI Serveur au RMI de registre sous la clé de recherche jmxrmi
C'est un peu chariot avant le cheval, que l'on a à communiquer avec le RMI registry donné par la dernière partie de la SLP URL d'abord.
Après grattage de la tête, de manière intuitive, nous allons essayer:
service:jmx:rmi://<TARGET_MACHINE>/jndi/rmi://<TARGET_MACHINE>:<RMI_REGISTRY_PORT>/jmxrmi
Oui, ça marche! JMX RMI le port du serveur est bien obtenue à partir de la base de registre. Sur la deuxième pensée, de la machine cible doit également être obtenu à partir de la base de registre, donc:
service:jmx:rmi:///jndi/rmi://<TARGET_MACHINE>:<RMI_REGISTRY_PORT>/jmxrmi
Encore mieux, qui fonctionne aussi!
Références:
Selon javax.management.remote.rmi
cette URL est assemblée comme ça
service:jmx:rmi://ignoredhost/jndi/rmi://myhost/myname
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.