On Dec 5, 2008, at 7:46 AM, Russell E Glaue wrote:

Being that Geronimo only allows one statically configured Jetty instance, configured as a GBean. And to get more instances, you have to install additional
Jetty gbeans under a new container name.

Plus, being that there is only one NCSARequestLog gbean, which has hard coded the logfile name and location, and we are not able to change the name and
location without recompiling.

Should Geronimo be modified to allow these to be dynamic?


I think that being able to spawn multiple containers and reconfigure log files should be something dynamic, and configurable in the var/config/ config.xml file
without having to add additional gbeans/plugins.

Something like the following could result for configuration:
-
<module name="JettyWebContainer2"
gbean="org.apache.geronimo.jetty6.connector.JettyWebContainerFactory">
   ...
</module>

<module name="NCSARequestLog2"
gbeanInfo ="org.apache.geronimo.jetty6.requestlog.NCSARequestLogFactory">
   ...
</module>

<module name="ContainerGroup" gbean="org.apache.geronimo.jetty6.ContainerGroup">
   <reference name="JettyContainer">
       <name>JettyWebContainer2</name>
   </reference>
   <reference name="RequestLog">
       <name>NCSARequestLog2</name>
   </reference>
   <reference name="ThreadPool">
     <name>DefaultThreadPool</name>
   </reference>
   <reference name="ServerInfo">
     <name>ServerInfo</name>
   </reference>
</module>
-

Where JettyWebContainerFactory and NCSARequestLogFactory produce separate running instances of JettyWebContainer and NCSARequestLog respectively.


Or with the Factory option, perhaps all that is needed is:
-
<module name="NCSARequestLog2"
gbeanInfo ="org.apache.geronimo.jetty6.requestlog.NCSARequestLogFactory">
   ...
</module>

<module name="JettyWebContainer2"
gbean="org.apache.geronimo.jetty6.connector.JettyWebContainerFactory">
   ...
   <reference name="RequestLog">
       <name>NCSARequestLog2</name>
   </reference>
</module>
-


But I think it would be a good idea to be able to group configurations together.

<class1>
   <listen socket/>
   <virtual server 1>
       <hostname alias/>
       <log configuration/>
       <web application 1/>
   </virtual server 1>
   <virtual server 2>
       <hostname alias/>
       <log configuration/>
       <web application 1/>
   </virtual server 2>
   <log configuration/>
</class1>

<class2>
   <listen socket/>
   <virtual server 1>
       <hostname alias/>
       <log configuration/>
       <web application 1/>
       <web application 2/>
       <web application 3/>
   </virtual server 1>
   <log configuration/>
</class2>

Where each class is a separated Web Container.


What is the general opinion about this?

I'm not sure I understand how what you are proposing actually differs from what we have now in any but cosmetic aspects. How does the proposed WebContainerFactory differ from the existing WebContainer?

We could come up with an xml schema for configuring jetty containers -- this would map into the existing gbeans. This is pretty much a cosmetic change but would require a bunch of coding.

RIght now I'm suggesting you come up with a plugin modified from the existing jetty plugin, build it with maven, and install it in your server.... or, imitating the sample app, just add the gbeans for the new container to your app plan. I don't understand which of these steps you consider onerous or why.

I'll try to look into the NCSA request log configuration soon....

thanks
david jencks




-RG

Reply via email to