remm 2004/09/23 00:03:28 Modified: webapps/manager/WEB-INF/classes/org/apache/catalina/manager JMXProxyServlet.java HTMLManagerServlet.java StatusManagerServlet.java ManagerServlet.java Log: - Fix some deprecation warnings. - Fix bug 31264: deploy should now behave correctly. Also move the writing of the WAR inside the isServiced block, so that if the uploading takes time, the auto deployer doesn't try to deploy it. - Add any deployment operation inside a try/finally block so that serviced is set back to false for the management operation, regardless of what occurs. There shouldn't be any unexpected exceptions thrown out there, but any problem would prevent further management of the application. Revision Changes Path 1.7 +2 -6 jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java Index: JMXProxyServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- JMXProxyServlet.java 27 Feb 2004 14:59:07 -0000 1.6 +++ JMXProxyServlet.java 23 Sep 2004 07:03:27 -0000 1.7 @@ -20,12 +20,9 @@ import java.io.IOException; import java.io.PrintWriter; -import java.util.Enumeration; import java.util.Iterator; import java.util.Set; -import java.util.Vector; import javax.management.MBeanServer; -import javax.management.ObjectInstance; import javax.management.ObjectName; import javax.management.MBeanInfo; import javax.management.MBeanAttributeInfo; @@ -35,7 +32,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.modeler.Registry; -import org.apache.tomcat.util.compat.JdkCompat; /** * This servlet will dump JMX attributes in a simple format @@ -59,8 +55,8 @@ */ public void init() throws ServletException { // Retrieve the MBean server - registry=Registry.getRegistry(); - mBeanServer = Registry.getRegistry().getServer(); + registry = Registry.getRegistry(null, null); + mBeanServer = Registry.getRegistry(null, null).getMBeanServer(); } 1.16 +8 -4 jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java Index: HTMLManagerServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- HTMLManagerServlet.java 17 Sep 2004 19:50:20 -0000 1.15 +++ HTMLManagerServlet.java 23 Sep 2004 07:03:27 -0000 1.16 @@ -205,9 +205,13 @@ if (!isServiced(path)) { addServiced(path); - warUpload.write(file); - check(path); - removeServiced(path); + try { + warUpload.write(file); + // Perform new deployment + check(path); + } finally { + removeServiced(path); + } } break; } 1.15 +2 -2 jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java Index: StatusManagerServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- StatusManagerServlet.java 23 Jul 2004 22:46:08 -0000 1.14 +++ StatusManagerServlet.java 23 Sep 2004 07:03:27 -0000 1.15 @@ -108,7 +108,7 @@ public void init() throws ServletException { // Retrieve the MBean server - mBeanServer = Registry.getServer(); + mBeanServer = Registry.getRegistry(null, null).getMBeanServer(); // Set our properties from the initialization parameters String value = null; 1.22 +57 -48 jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java Index: ManagerServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- ManagerServlet.java 2 Sep 2004 21:50:49 -0000 1.21 +++ ManagerServlet.java 23 Sep 2004 07:03:27 -0000 1.22 @@ -618,30 +618,27 @@ if (debug >= 2) { log("Uploading WAR file to " + localWar); } - try { - uploadWar(request, localWar); - } catch (IOException e) { - log("managerServlet.upload[" + displayPath + "]", e); - writer.println(sm.getString("managerServlet.exception", - e.toString())); - return; - } - - // Copy WAR and XML to the host base - if (tag != null) { - deployedPath = deployed; - File localWarCopy = new File(deployedPath, basename + ".war"); - copy(localWar, localWarCopy); - localWar = localWarCopy; - } // Copy WAR to appBase try { if (!isServiced(path)) { addServiced(path); - copy(localWar, new File(getAppBase(), basename + ".war")); - check(path); - removeServiced(path); + try { + // Upload WAR + uploadWar(request, localWar); + // Copy WAR and XML to the host app base if needed + if (tag != null) { + deployedPath = deployed; + File localWarCopy = new File(deployedPath, basename + ".war"); + copy(localWar, localWarCopy); + localWar = localWarCopy; + copy(localWar, new File(getAppBase(), basename + ".war")); + } + // Perform new deployment + check(path); + } finally { + removeServiced(path); + } } } catch (Exception e) { log("managerServlet.check[" + displayPath + "]", e); @@ -701,9 +698,13 @@ try { if (!isServiced(path)) { addServiced(path); - copy(localWar, new File(getAppBase(), getDocBase(path) + ".war")); - check(path); - removeServiced(path); + try { + copy(localWar, new File(getAppBase(), getDocBase(path) + ".war")); + // Perform new deployment + check(path); + } finally { + removeServiced(path); + } } } catch (Exception e) { log("managerServlet.check[" + displayPath + "]", e); @@ -794,21 +795,25 @@ try { if (!isServiced(path)) { addServiced(path); - if (config != null) { - copy(new File(config), - new File(configBase, getConfigFile(path) + ".xml")); - } - if (war != null) { - if (war.endsWith(".war")) { - copy(new File(war), - new File(getAppBase(), getDocBase(path) + ".war")); - } else { - copy(new File(war), - new File(getAppBase(), getDocBase(path))); + try { + if (config != null) { + copy(new File(config), + new File(configBase, getConfigFile(path) + ".xml")); } + if (war != null) { + if (war.endsWith(".war")) { + copy(new File(war), + new File(getAppBase(), getDocBase(path) + ".war")); + } else { + copy(new File(war), + new File(getAppBase(), getDocBase(path))); + } + } + // Perform new deployment + check(path); + } finally { + removeServiced(path); } - check(path); - removeServiced(path); } writer.println(sm.getString("managerServlet.deployed", displayPath)); @@ -1312,19 +1317,23 @@ // Stop the context first to be nicer if (!isServiced(path)) { addServiced(path); - ((Lifecycle) context).stop(); - File war = new File(getAppBase(), getDocBase(path) + ".war"); - File dir = new File(getAppBase(), getDocBase(path)); - File xml = new File(configBase, getConfigFile(path) + ".xml"); - if (war.exists()) { - war.delete(); - } else if (dir.exists()) { - undeployDir(dir); - } else { - xml.delete(); + try { + ((Lifecycle) context).stop(); + File war = new File(getAppBase(), getDocBase(path) + ".war"); + File dir = new File(getAppBase(), getDocBase(path)); + File xml = new File(configBase, getConfigFile(path) + ".xml"); + if (war.exists()) { + war.delete(); + } else if (dir.exists()) { + undeployDir(dir); + } else { + xml.delete(); + } + // Perform new deployment + check(path); + } finally { + removeServiced(path); } - check(path); - removeServiced(path); } writer.println(sm.getString("managerServlet.undeployed", displayPath));
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]