2009-11-04 13 views
9

Dire che sto eseguendo il debug di alcuni strani problemi di caricamento di classe di un'applicazione distribuita all'interno di un app server Java EE. Per qualche ragione, sembra che io abbia vasi duplicati sui percorsi di classe di due classloader (2 diversi classloader EAR), e le classi degli spazi dei nomi di questi caricatori di classe devono collaborare.Qualche strumento per visualizzare l'immagine dell'albero del caricatore di classi?

Quindi la domanda è la seguente: esiste uno strumento in grado di mostrare un'immagine (immagine) dell'albero del caricatore di classi insieme al repository di ciascun programma di caricamento classi? Ovviamente, non è molto importante mostrare esattamente un'immagine, se potrebbe essere una sorta di interfaccia utente dinamica (ad esempio piegare/aprire l'albero di Windows Explorer), sarei molto felice.

UPD: Sto usando JBoss 5.1.

Grazie

risposta

0

Quale server di applicazioni stai utilizzando?

Oltre a queste, non credo esista tale strumento.

3

In JBoss è possibile log all classloader events, che dovrebbe dirvi esattamente dove le vostre classi in conflitto, se si può setacciare la verbosità.

Oppure puoi andare alla console jmx, trovare la sezione jboss.classloader, trovare la voce per il tuo orecchio (qualcosa come id="vfszip:/apps/jboss-5.1.0.GA/server/default/deploy/your.war/") e invocare findClassLoaderForClass per la classe che ti dà problemi.

+0

Link mostra solo documenti jboss. Non è molto utile per individuare dove trovare questo? –

+0

aggiornamento link: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/4.3/html/Server_Configuration_Guide/Class_Loading_and_Types_in_Java-LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are.html –

Problemi correlati