Ich schreibe gerade eine App, um einen anderen Java-Prozess zu überwachen und bestimmte Aktionen auszuführen, wenn bestimmte Ziele getroffen werden. Wenn ein Thread beispielsweise für eine bestimmte Zeit blockiert, wird der Thread beendet, wenn die Speicherbelegung einen bestimmten Wert überschreitet, E-Mail-Benachrichtigungen senden und den Prozess beenden.Ist es möglich, einen Java-Prozess über JMX programmatisch zu schließen?
Meine App wird als eigenständige App ausgeführt Überwachung bestimmter anderer Apps (lokal, obwohl das, was ich remote oder lokal sehen kann, hier keinen Unterschied macht).
Ich überwache die externen JVMs über MXBeans, sehe aber keinen sauberen Weg, um den externen Prozess kurz nach einem Systemaufruf wie 'kill -9' zu beenden (ich arbeite übrigens in UNIX).
Gibt es eine Möglichkeit, eine JVM über die MXBean-Schnittstellen zu töten?
Graham
Ich bin mir nicht bewusst, eine Out-of-the-Box-Art, dies zu tun, aber ich neige dazu, eine "Notabschaltung" MBean implementieren, die System.exit aufgerufen, wenn sie aufgerufen werden (ich erlaube Ihnen auch zu übergeben im Exit-Return-Code). – Adamski