Domanda

JDK 1.6 viene fornito con un pratico strumento chiamato VisualVM che consente di controllare e interagire con i processi in esecuzione Java. Una caratteristica è che rileva automaticamente l'esecuzione JVM sulla macchina locale. La maggior parte sono indicato come "(xxxx pid)", ma alcune hanno un nome e un'icona, come VisualVM se stesso e gli altri come NetBeans (vedi screenshot in questo articolo DZone per esempio).

Come faccio a iniettare il mio nome dell'applicazione e l'icona nella JVM in modo che mostra in modo corretto nella lista delle applicazioni di VisualVM? La mia app necessità di essere in esecuzione JRE 1.6 o posso fare questo al punto 1.5 anche tu?

È stato utile?

Soluzione

ho risolto la metà della mia domanda tramite una NetBeans Messaggio Forum risposta. Aggiunta di una riga di comando arg JVM di -Dvisualvm.display.name=FooBar rende VisualVM visualizza app come "FooBar". Ma io ancora non riesco a capire come influenzano l'icona.

UPDATE: Ahimè, credo di aver trovato la mia risposta per l'icona. Le icone sono hard-coded in VisualVM tramite MainClassApplicationTypeFactory nella fonte VisualVM, invocato dal metodo statico ApplicationTypeFactory.getApplicationTypeFor (Application). Non riesco a vedere alcun modo per iniettare una nuova icona nella VisualVM se non facendo un plugin VisualVM che potrebbe registrare un nuovo tipo di fabbrica -. Il plugin Glassfish fa attraverso GlassFishApplicationTypeFactory.initialize () ad esempio

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top