Author: jacopoc
Date: Fri Feb 14 13:13:29 2014 New Revision: 1568269 URL: http://svn.apache.org/r1568269 Log: A series of cleanups, simplifications and improvements (to leverage some of the features of the recent Tomcat API) to the way that the CatalinaContainer sets up the embedded Tomcat instance. Removed: ofbiz/trunk/framework/catalina/config/ Modified: ofbiz/trunk/framework/catalina/ofbiz-component.xml ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java Modified: ofbiz/trunk/framework/catalina/ofbiz-component.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/catalina/ofbiz-component.xml?rev=1568269&r1=1568268&r2=1568269&view=diff ============================================================================== --- ofbiz/trunk/framework/catalina/ofbiz-component.xml (original) +++ ofbiz/trunk/framework/catalina/ofbiz-component.xml Fri Feb 14 13:13:29 2014 @@ -24,7 +24,6 @@ under the License. <resource-loader name="main" type="component"/> <classpath type="jar" location="lib/*"/> <classpath type="jar" location="build/lib/*"/> - <classpath type="dir" location="config"/> <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/> <container name="catalina-container" loaders="main" class="org.ofbiz.catalina.container.CatalinaContainer"> Modified: ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java?rev=1568269&r1=1568268&r2=1568269&view=diff ============================================================================== --- ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java (original) +++ ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java Fri Feb 14 13:13:29 2014 @@ -19,7 +19,6 @@ package org.ofbiz.catalina.container; import java.io.File; -import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; @@ -32,7 +31,6 @@ import java.util.concurrent.ScheduledExe import javax.naming.InitialContext; import javax.naming.NamingException; -import javax.xml.parsers.ParserConfigurationException; import javolution.util.FastList; @@ -49,7 +47,6 @@ import org.apache.catalina.core.Standard import org.apache.catalina.core.StandardEngine; import org.apache.catalina.core.StandardHost; import org.apache.catalina.core.StandardServer; -import org.apache.catalina.core.StandardWrapper; import org.apache.catalina.deploy.FilterDef; import org.apache.catalina.deploy.FilterMap; import org.apache.catalina.filters.RequestDumperFilter; @@ -57,7 +54,6 @@ import org.apache.catalina.ha.tcp.Replic import org.apache.catalina.ha.tcp.SimpleTcpCluster; import org.apache.catalina.loader.WebappLoader; import org.apache.catalina.realm.MemoryRealm; -import org.apache.catalina.session.StandardManager; import org.apache.catalina.startup.ContextConfig; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.tribes.group.GroupChannel; @@ -72,6 +68,7 @@ import org.apache.coyote.http11.Http11Pr import org.apache.tomcat.JarScanner; import org.apache.tomcat.util.IntrospectionUtils; import org.apache.tomcat.util.scan.StandardJarScanner; + import org.ofbiz.base.component.ComponentConfig; import org.ofbiz.base.concurrent.ExecutionPool; import org.ofbiz.base.container.ClassLoaderContainer; @@ -82,14 +79,11 @@ import org.ofbiz.base.container.Containe import org.ofbiz.base.location.FlexibleLocation; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.SSLUtil; -import org.ofbiz.base.util.UtilURL; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.DelegatorFactory; import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.xml.sax.SAXException; /* * --- Access Log Pattern Information - From Tomcat 5 AccessLogValve.java @@ -150,7 +144,6 @@ public class CatalinaContainer implement public static final String J2EE_SERVER = "OFBiz Container 3.1"; public static final String J2EE_APP = "OFBiz"; public static final String module = CatalinaContainer.class.getName(); - protected static Map<String, String> mimeTypes = new HashMap<String, String>(); private static final ThreadGroup CATALINA_THREAD_GROUP = new ThreadGroup("CatalinaContainer"); // load the JSSE propertes (set the trust store) @@ -168,8 +161,6 @@ public class CatalinaContainer implement protected boolean crossContext = false; protected boolean distribute = false; - protected boolean enableDefaultMimeTypes = true; - protected String catalinaRuntimeHome; private String name; @@ -661,28 +652,27 @@ public class CatalinaContainer implement } final boolean contextIsDistributable = distribute && appIsDistributable; + // create the web application context + StandardContext context = new StandardContext(); + context.setParent(host); + context.setDocBase(location); + context.setPath(mount); + context.addLifecycleListener(new ContextConfig()); + Tomcat.initWebappDefaults(context); // configure persistent sessions + // important: the call to context.setManager(...) must be done after Tomcat.initWebappDefaults(...) Property clusterProp = clusterConfig.get(engine.getName()); - - Manager sessionMgr = null; if (clusterProp != null && contextIsDistributable) { + Manager sessionMgr = null; String mgrClassName = ContainerConfig.getPropertyValue(clusterProp, "manager-class", "org.apache.catalina.ha.session.DeltaManager"); try { sessionMgr = (Manager)Class.forName(mgrClassName).newInstance(); } catch (Exception exc) { throw new ContainerException("Cluster configuration requires a valid manager-class property: " + exc.getMessage()); } - } else { - sessionMgr = new StandardManager(); + context.setManager(sessionMgr); } - // create the web application context - StandardContext context = new StandardContext(); - context.setParent(host); - context.setDocBase(location); - context.setPath(mount); - context.addLifecycleListener(new ContextConfig()); - JarScanner jarScanner = context.getJarScanner(); if (jarScanner instanceof StandardJarScanner) { StandardJarScanner standardJarScanner = (StandardJarScanner) jarScanner; @@ -693,8 +683,6 @@ public class CatalinaContainer implement egn.setService(tomcat.getService()); Debug.logInfo("host[" + host + "].addChild(" + context + ")", module); - //context.setDeployOnStartup(false); - //context.setBackgroundProcessorDelay(5); context.setJ2EEApplication(J2EE_APP); context.setJ2EEServer(J2EE_SERVER); context.setLoader(new WebappLoader(ClassLoaderContainer.getClassLoader())); @@ -712,7 +700,6 @@ public class CatalinaContainer implement context.setCrossContext(crossContext); context.setPrivileged(appInfo.privileged); - context.setManager(sessionMgr); context.getServletContext().setAttribute("_serverId", appInfo.server); context.getServletContext().setAttribute("componentName", appInfo.componentConfig.getComponentName()); @@ -729,34 +716,6 @@ public class CatalinaContainer implement context.addFilterMap(requestDumperFilterMap); } - // create the Default Servlet instance to mount - StandardWrapper defaultServlet = new StandardWrapper(); - defaultServlet.setParent(context); - defaultServlet.setServletClass("org.apache.catalina.servlets.DefaultServlet"); - defaultServlet.setServletName("default"); - defaultServlet.setLoadOnStartup(1); - defaultServlet.addInitParameter("debug", "0"); - defaultServlet.addInitParameter("listing", "true"); - defaultServlet.addMapping("/"); - context.addChild(defaultServlet); - context.addServletMapping("/", "default"); - - // create the Jasper Servlet instance to mount - StandardWrapper jspServlet = new StandardWrapper(); - jspServlet.setParent(context); - jspServlet.setServletClass("org.apache.jasper.servlet.JspServlet"); - jspServlet.setServletName("jsp"); - jspServlet.setLoadOnStartup(1); - jspServlet.addInitParameter("fork", "false"); - jspServlet.addInitParameter("xpoweredBy", "true"); - jspServlet.addMapping("*.jsp"); - jspServlet.addMapping("*.jspx"); - context.addChild(jspServlet); - context.addServletMapping("*.jsp", "jsp"); - - // default mime-type mappings - configureMimeTypes(context); - // set the init parameters for (Map.Entry<String, String> entry: initParameters.entrySet()) { context.addParameter(entry.getKey(), entry.getValue()); @@ -807,7 +766,7 @@ public class CatalinaContainer implement } loadedMounts.addAll(keys); } else { - appInfo.setAppBarDisplay(false); // disable app bar display on overrided apps + appInfo.setAppBarDisplay(false); // disable app bar display on overridden apps Debug.logInfo("Duplicate webapp mount; not loading : " + appInfo.getName() + " / " + appInfo.getLocation(), module); } } @@ -829,51 +788,4 @@ public class CatalinaContainer implement public String getName() { return name; } - - protected void configureMimeTypes(Context context) throws ContainerException { - Map<String, String> mimeTypes = CatalinaContainer.getMimeTypes(); - if (UtilValidate.isNotEmpty(mimeTypes)) { - for (Map.Entry<String, String> entry: mimeTypes.entrySet()) { - context.addMimeMapping(entry.getKey(), entry.getValue()); - } - } - } - - protected static synchronized Map<String, String> getMimeTypes() throws ContainerException { - if (UtilValidate.isNotEmpty(mimeTypes)) { - return mimeTypes; - } - - if (mimeTypes == null) mimeTypes = new HashMap<String, String>(); - URL xmlUrl = UtilURL.fromResource("mime-type.xml"); - - // read the document - Document mimeTypeDoc; - try { - mimeTypeDoc = UtilXml.readXmlDocument(xmlUrl, true); - } catch (SAXException e) { - throw new ContainerException("Error reading the mime-type.xml config file: " + xmlUrl, e); - } catch (ParserConfigurationException e) { - throw new ContainerException("Error reading the mime-type.xml config file: " + xmlUrl, e); - } catch (IOException e) { - throw new ContainerException("Error reading the mime-type.xml config file: " + xmlUrl, e); - } - - if (mimeTypeDoc == null) { - Debug.logError("Null document returned for mime-type.xml", module); - return null; - } - - // root element - Element root = mimeTypeDoc.getDocumentElement(); - - // mapppings - for (Element curElement: UtilXml.childElementList(root, "mime-mapping")) { - String extension = UtilXml.childElementValue(curElement, "extension"); - String type = UtilXml.childElementValue(curElement, "mime-type"); - mimeTypes.put(extension, type); - } - - return mimeTypes; - } } |
Free forum by Nabble | Edit this page |