Craig R. McClanahan typed the following on 09:35 AM 12/27/2000 -0800
>> >* Create another level of nesting inside <Manager> called <Store>.  This is
>> >  probably better, because you can now configure the properties of the
>> >  Store implementation using <Store> attributes.

I haven't had much luck getting this working. I've got the following in my
server.xml:

<Context path="/examples" docBase="examples" debug="3"
              reloadable="true">
    <Manager className="org.apache.catalina.session.PersistentManager"
              debug="3">
        <Store className="org.apache.catalina.session.FileStore"/>
    </Manager>

Then I put some stuff into startup/Catalina.java, basically copying the
code for Manager (this is also in the attached patch for reference):

        mapper.addRule("Server/Service/Engine/Host/Manager/Store",
                       mapper.objectCreate
                       ("org.apache.catalina.session.FileStore",
                        "className"));
        mapper.addRule("Server/Service/Engine/Host/Manager/Store",
                       mapper.setProperties());
        mapper.addRule("Server/Service/Engine/Host/Manager/Store", mapper.addChild
                       ("setStore", "org.apache.catalina.Store"));
[...]
        mapper.addRule("Server/Service/Engine/Manager/Store", mapper.objectCreate
                       ("org.apache.catalina.session.FileStore",
                        "className"));
        mapper.addRule("Server/Service/Engine/Manager/Store",
                       mapper.setProperties());
        mapper.addRule("Server/Service/Engine/Manager/Store", mapper.addChild
                       ("setStore", "org.apache.catalina.Store"));
[...]
        mapper.addRule(prefix + "/Store",
                       mapper.objectCreate
                       ("org.apache.catalina.session.FileStore",
                        "className"));
        mapper.addRule(prefix + "/Store",
                       mapper.setProperties());
        mapper.addRule(prefix + "/Store", mapper.addChild
                       ("setStore", "org.apache.catalina.Store"));

The problem is I don't understand enough about what's going on here to
debug it - the FileStore doesn't seem to be instantiated, and the PersistentManager's
setStore() definitely isn't being called. Is there any reference to how this all fits 
together?
XmlMapper.java is uncommented :-( Otherwise, what should I do to make this work?

Kief
--- Catalina.java.orig  Thu Dec 28 11:34:30 2000
+++ Catalina.java       Thu Dec 28 10:29:54 2000
@@ -372,6 +372,15 @@
        mapper.addRule("Server/Service/Engine/Host/Manager", mapper.addChild
                       ("setManager", "org.apache.catalina.Manager"));
 
+       mapper.addRule("Server/Service/Engine/Host/Manager/Store",
+                       mapper.objectCreate
+                      ("org.apache.catalina.session.FileStore",
+                       "className"));
+       mapper.addRule("Server/Service/Engine/Host/Manager/Store",
+                       mapper.setProperties());
+       mapper.addRule("Server/Service/Engine/Host/Manager/Store", mapper.addChild
+                      ("setStore", "org.apache.catalina.Store"));
+
        mapper.addRule("Server/Service/Engine/Host/Realm", mapper.objectCreate
                       (null, "className"));
        mapper.addRule("Server/Service/Engine/Host/Realm",
@@ -424,6 +433,14 @@
        mapper.addRule("Server/Service/Engine/Manager", mapper.addChild
                       ("setManager", "org.apache.catalina.Manager"));
 
+       mapper.addRule("Server/Service/Engine/Manager/Store", mapper.objectCreate
+                      ("org.apache.catalina.session.FileStore",
+                       "className"));
+       mapper.addRule("Server/Service/Engine/Manager/Store",
+                       mapper.setProperties());
+       mapper.addRule("Server/Service/Engine/Manager/Store", mapper.addChild
+                      ("setStore", "org.apache.catalina.Store"));
+
        mapper.addRule("Server/Service/Engine/Realm", mapper.objectCreate
                       (null, "className"));
        mapper.addRule("Server/Service/Engine/Realm", mapper.setProperties());
@@ -535,6 +552,15 @@
                       mapper.setProperties());
        mapper.addRule(prefix + "/Manager", mapper.addChild
                       ("setManager", "org.apache.catalina.Manager"));
+
+       mapper.addRule(prefix + "/Store",
+                      mapper.objectCreate
+                      ("org.apache.catalina.session.FileStore",
+                       "className"));
+       mapper.addRule(prefix + "/Store",
+                      mapper.setProperties());
+       mapper.addRule(prefix + "/Store", mapper.addChild
+                      ("setStore", "org.apache.catalina.Store"));
 
         mapper.addRule(prefix + "/Parameter", mapper.objectCreate
                        ("org.apache.catalina.deploy.ApplicationParameter"));

Reply via email to