您可以使用MBeans / JMX在Tomcat中关闭单个应用程序:
public void shutdownApp() { try { String serviceName = "Catalina"; // @see server.xml String hostName = "localhost"; // @see server.xml String contextName = "MyApplicationName"; // the name of your application in the URL Hashtable<String, String> keys = new Hashtable<>(); keys.put("j2eeType", "WebModule"); keys.put("name", "//" + hostName + "/" + contextName); keys.put("J2EEApplication", "none"); keys.put("J2EEServer", "none"); MBeanServerConnection mbeanServer = ManagementFactory.getPlatformMBeanServer(); ObjectName appObject = ObjectName.getInstance(serviceName, keys); System.out.println("Found objectName: " + appObject); mbeanServer.invoke(appObject, "stop", null, null); } catch (Exception e) { e.printStackTrace(); }}需要根据您的配置更改serviceName,hostName和contextName变量。此示例将关闭这样部署的应用程序:
hxxp://localhost:8080/MyApplicationName
除了“停止”,您也可以称为:“开始”或“重新加载”。



