Hi Jacques, I know that the MemoryRealm is deprecated in Tomcat 7 and will be removed in Tomcat 8; since the catalina-users.xml file was only used by the MemoryRealm and since I couldn't find a good use case for it in OFBiz I have removed it. If you think it may be still useful in the context of OFBiz we can bring it back.
Jacopo On Sep 22, 2014, at 4:30 PM, Jacques Le Roux <jacques.le.r...@les7arts.com> wrote: > HI Jacopo, > > Why did you remove catalina-users.xml, Is it replaced by /tomcat-users.xml/ ? > I remember I had to use catalina-users.xml with Geronimo. Of course it was in > 2007 and it's maybe deprecated now? > > Jacques > > Le 21/09/2014 08:23, jaco...@apache.org a écrit : >> Author: jacopoc >> Date: Sun Sep 21 06:23:57 2014 >> New Revision: 1626531 >> >> URL: http://svn.apache.org/r1626531 >> Log: >> Further improvements to the way we use the Tomcat startup API: removed the >> deprecated (will be removed in Tomcat 8) memory realm (not really used in >> OFBiz) and a series of minor adjustments. >> >> Removed: >> ofbiz/trunk/runtime/catalina/catalina-users.xml >> Modified: >> >> ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java >> >> 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=1626531&r1=1626530&r2=1626531&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 >> Sun Sep 21 06:23:57 2014 >> @@ -52,7 +52,6 @@ import org.apache.catalina.filters.Reque >> import org.apache.catalina.ha.tcp.ReplicationValve; >> import org.apache.catalina.ha.tcp.SimpleTcpCluster; >> import org.apache.catalina.loader.WebappLoader; >> -import org.apache.catalina.realm.MemoryRealm; >> import org.apache.catalina.startup.ContextConfig; >> import org.apache.catalina.startup.Tomcat; >> import org.apache.catalina.tribes.group.GroupChannel; >> @@ -185,9 +184,6 @@ public class CatalinaContainer implement >> System.setProperty("catalina.useNaming", String.valueOf(useNaming)); >> tomcat = new Tomcat(); >> tomcat.setBaseDir(System.getProperty("ofbiz.home")); >> - if (useNaming) { >> - tomcat.enableNaming(); >> - } >> // >> https://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#JRE_Memory_Leak_Prevention_Listener_-_org.apache.catalina.core.JreMemoryLeakPreventionListener >> // <<The JRE Memory Leak Prevention Listener provides work-arounds >> for known places where the Java Runtime environment uses >> @@ -202,6 +198,9 @@ public class CatalinaContainer implement >> // configure JNDI in the StandardServer >> StandardServer server = (StandardServer) tomcat.getServer(); >> + if (useNaming) { >> + tomcat.enableNaming(); >> + } >> try { >> server.setGlobalNamingContext(new InitialContext()); >> } catch (NamingException e) { >> @@ -260,6 +259,7 @@ public class CatalinaContainer implement >> String engineName = engineConfig.name; >> String hostName = defaultHostProp.value; >> + tomcat.setHostname(hostName); >> Engine engine = tomcat.getEngine(); >> engine.setName(engineName); >> @@ -269,16 +269,9 @@ public class CatalinaContainer implement >> engine.setJvmRoute(jvmRoute); >> } >> - // create the default realm -- TODO: make this configurable >> - String dbConfigPath = new File(System.getProperty("catalina.home"), >> "catalina-users.xml").getAbsolutePath(); >> - MemoryRealm realm = new MemoryRealm(); >> - realm.setPathname(dbConfigPath); >> - engine.setRealm(realm); >> - >> // create a default virtual host; others will be created as needed >> - Host host = createHost(engine, hostName); >> - engine.addChild(host); >> - engine.setDefaultHost(hostName); >> + Host host = tomcat.getHost(); >> + configureHost(host); >> // configure clustering >> List<ContainerConfig.Container.Property> clusterProps = >> engineConfig.getPropertiesWithValue("cluster"); >> @@ -346,23 +339,18 @@ public class CatalinaContainer implement >> return engine; >> } >> - private Host createHost(Engine engine, String hostName) throws >> ContainerException { >> - Debug.logInfo("Adding Host " + hostName + " to " + engine, module); >> - if (tomcat == null) { >> - throw new ContainerException("Cannot create Host without Tomcat >> instance!"); >> - } >> - >> + private static Host createHost(String hostName) { >> Host host = new StandardHost(); >> - host.setAppBase(CATALINA_HOSTS_HOME); >> host.setName(hostName); >> + configureHost(host); >> + return host; >> + } >> + private static void configureHost(Host host) { >> + host.setAppBase(CATALINA_HOSTS_HOME); >> host.setDeployOnStartup(false); >> host.setBackgroundProcessorDelay(5); >> host.setAutoDeploy(false); >> - ((StandardHost)host).setWorkDir(new >> File(System.getProperty(Globals.CATALINA_HOME_PROP) >> - , "work" + File.separator + engine.getName() + >> File.separator + host.getName()).getAbsolutePath()); >> - host.setParent(engine); >> - >> - return host; >> + ((StandardHost)host).setWorkDir(new >> File(System.getProperty(Globals.CATALINA_HOME_PROP), "work" + File.separator >> + host.getName()).getAbsolutePath()); >> } >> protected Cluster createCluster(ContainerConfig.Container.Property >> clusterProps, Host host) throws ContainerException { >> @@ -500,14 +488,13 @@ public class CatalinaContainer implement >> if (childContainer instanceof Host) { >> host = (Host)childContainer; >> } else { >> - host = createHost(engine, hostName); >> + host = createHost(hostName); >> engine.addChild(host); >> } >> while (vhi.hasNext()) { >> host.addAlias(vhi.next()); >> } >> } >> - >> return new Callable<Context>() { >> public Context call() throws ContainerException, >> LifecycleException { >> StandardContext context = configureContext(engine, host, >> appInfo); >> >> >> >