1
如何獲取使用JMX部署在Tomcat中的webapp的列表?這些URL對於各種版本的tomcat是不同的(例如,在tomcat v6中,URL:「http://:8080/manager/list」將給出部署的webapps列表)。意圖是計算Tomcat中所有活動的總和。我們已經計算出每個webapp的總和併到達最終的數字。獲取tomcat中部署的webapps列表?
如何獲取使用JMX部署在Tomcat中的webapp的列表?這些URL對於各種版本的tomcat是不同的(例如,在tomcat v6中,URL:「http://:8080/manager/list」將給出部署的webapps列表)。意圖是計算Tomcat中所有活動的總和。我們已經計算出每個webapp的總和併到達最終的數字。獲取tomcat中部署的webapps列表?
這是對我們工作的解決方案:
Set<ObjectName> names = mbeanServer.queryNames(new ObjectName("Catalina:type=Host,*"), null);
Set<String> hostNames = new HashSet<String>();
for (ObjectName on : names) {
hostNames.add(on.getKeyProperty("host"));
}
for (String str : hostNames) {
ObjectName[] webapps = (ObjectName[]) mbeanServer.getAttribute(new ObjectName("Catalina:type=Host,host=" + str), "children");
for (ObjectName ob : webapps) {
String[] appSpl = ob.getKeyProperty("name").split("//localhost");
webappNames.add(appSpl[1]);
}
}
的/經理在Tomcat的Web應用程序,而不是一個嵌入模塊,它可以像其他Web應用程序被刪除,你需要尋找的xml文件在%CATALINA%/ conf/Catalina/localhost(只是用戶應用程序)中,每個包含docBase指的是web應用程序基本代碼,並且%CATALINA%/ webapps包含預安裝的應用程序,例如/ manager – 2013-06-26 07:53:37