2012-07-10 6 views
4

Je souhaite profiler une application Java avec VisualVM, à distance via JMX. Comme il s'agit d'une instance EC2 NAT'ted et firewalled, je ne peux pas utiliser l'approche RMI par défaut et j'ai besoin d'utiliser les extensions JMXMP facultatives, que je dois d'abord télécharger.Où télécharger JMXMP?

NOTE - SI VOUS VOULEZ utiliser un connecteur JMXMP, TELECHARGER LA JSR 160 MISE EN ŒUVRE DE RÉFÉRENCE DE , ET AJOUTER LE DOSSIER de JMXREMOTE_OPTIONAL.JAR À VOTRE CLASSPATH. VOUS TROUVEREZ DES EXEMPLES D'UTILISATION DES CONNECTEURS JMXMP DANS LE TUTORIAL DE L'API JMX REMOTE INCLUS AVEC LA MISE EN ŒUVRE DE RÉFÉRENCE JSR 160.

http://docs.oracle.com/javase/6/docs/technotes/guides/jmx/overview/connectors.html

Mais quand je vais à cette page, je ne peux pas trouver le téléchargement. En fait, Google ne peut pas trouver le téléchargement. Où puis-je obtenir ces extensions?

+4

Quelqu'un d'autre pense que c'est un triste état? Sûrement le profilage à distance sur un serveur pare-feu ne devrait pas être si difficile? –

+0

http://www.java2s.com/Code/Jar/j/Downloadjmxremoteoptionaljar.htm –

+1

@ BorisPavlović Merci, je vais essayer, mais il devrait y avoir un téléchargement officiel quelque part aussi, ou Oracle/Sun a laissé tomber la balle. –

Répondre

2

La solution la plus simple serait de créer un proxy de chaussettes avec ssh -D. Voir this post pour plus de détails. Ensuite, démarrez VisualVM et définissez ce proxy dans Outils-> Options-> Réseau. Vous n'avez pas besoin d'utiliser -J-Dnetbeans.system_socks_proxy -J-Djava.net.useSystemProxies sur la ligne de commande VisualVM.

7

Le canonique javax.management:jmxremote_optional semble avoir été retiré de Maven Central [1]. (Je me demande pourquoi ... légions d'avocats de Larry)

Heureusement, le suivant semble être une solution de remplacement qui est sur Maven Central [2]:

<dependency> 
    <groupId>org.glassfish.external</groupId> 
    <artifactId>opendmk_jmxremote_optional_jar</artifactId> 
    <version>1.0-b01-ea</version> 
</dependency> 

Mon JMXMP/TLS le code continue à fonctionner avec ceci, sécurisé et avec l'authentification des deux côtés. Que votre kilométrage soit tout aussi bon. :)

[1] http://repo1.maven.org/maven2//javax/management/jmxremote_optional/1.0.1_04/

[2] http://repo1.maven.org/maven2/org/glassfish/external/opendmk_jmxremote_optional_jar/1.0-b01-ea/