I think I had to use it in conjunction with the security manager, but I have to 
double-check that, already 7 years...

Jacques

Le 22/09/2014 16:43, Jacopo Cappellato a écrit :
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 <[email protected]> 
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, [email protected] 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);






Reply via email to