Ubuntu eignet sich hervorragend als Entwicklungsumgebung für Java Anwendungen. Sei es auf dem Desktop oder auf dem Server, bei Ubuntu bekommt man ein aktuelles Sun JDK oder OpenJDK, einen planbaren Releasezyklus. Auch ist ein Unix-artiges Betriebssystem in meinen Augen zum Arbeiten angenehmer als z.B. Windows.

Hat man auf einem entfernten Server, der aber per Netzwerk (oder VPN) erreichbar ist, einen Java Applikationsserver, wie z.B. Glassfish, laufen, so bietet sich JMX zum Monitoring und Management an. Besonders die „VisualVM“ Anwendung macht die Arbeit dabei sehr leicht und übersichtlich. Der Start erfolgt einfach per „jvisualvm“, anschließend können lokale Anwendungen sofort analysiert werden, für entfernte Rechner ist eine JMX Verbindung erforderlich.

Für VisualVM gibt es auch ein Plugin für Glassfish, dies kann über „Tools -> Plugins“ installiert werden. Danach fügt man den entfernten Host hinzu, hier kann man den Hostnamen oder eine IP Adresse eintragen:

Danach kann man eine Verbindung zum Glassfish (der natürlich gestartet sein muss) hinzufügen. Standardmäßig wird der Port 8686 verwendet, hat man ein Passwort gesetzt – was man tun sollte – kann man hier auch die Credentials angeben:

Wenn alles geklappt hat, kann man nun den Glassfish im Betrieb überwachen, sich die Threads ausgeben lassen und sogar einen Heap Dump anfordern. Damit kann man z.B. Memory Leaks auf die Spur kommen.

Und so sieht das ganze dann z.B. aus, wenn man sich dabei die Telemetrie der Java Virtual Machine im Betrieb ansieht: