On May 20, 2009, at 7:44 AM, Ivan wrote:

I guess that what David means is that writing a deployer for server.xml, then in the builder class, construct those tomcat server gbeans, and add those gbeans to the tomcat plugin section in the config.xml. So that we could imitate a totally same tomcat environment for those tomcat-ready applications.

Not exactly.

Right now we supply one preconfigured tomcat server in the tomcat plugin.  You can deploy more if you want, and your app can choose which one to use with the (IIRC) web-container element in its plan.  You can also use artifact-aliases to get one you deploy to replace the standard one.

I'm suggesting writing a builder, maybe tomcat-server-builder, for server.xml files that produces plugins that are similar to the tomcat plugin.  What happens to these plugins is a separate question.  I'd assume most people would want to replace the supplied tomcat plugin with the one built out of their server.xml file but this is not an essential part of what I'm suggesting.

david jencks

Right ?

2009/5/20 Lin Sun <linsun.unc@gmail.com>
One example that we did this is with the config-substitution property
file where we allow users to specify configuration and the server
reads the config-substitution property file during the startup of the
server.   If we more or less freeze the configuration, wouldn't this
(reading data from server.xml and build the tomcat plugin) have to be
done at the build time when we build the geronimo plugin for tomcat
using maven2?    I think the user would want to do this at runtime
where the geronimo server is already prebuilt.

On Wed, May 20, 2009 at 3:16 AM, David Jencks <david_jencks@yahoo.com> wrote:

> I'm not sure about this idea.  It seems really contrary to how most of
> geronimo works.... where we take some kind of plan and more or less freeze
> the configuration while "pre-deploying" it into a pretty much immutable
> plugin.  I'm not convinced that accepting a new kind of plan for a few
> gbeans requires adding this "continual redeploy" functionality to geronimo.
>> 3. During G startup, G can just build the embedded tomcat server by
>> reading data from config.xml, like what it is doing today.
> config.xml doesn't have to contain any info on the tomcat server except that
> it ought to be started, i.e. listing the plugin.  The gbean configurations
> are all serialized in the plugin.  I'd generally prefer it if we dropped the
> ability to add gbeans to a plugin via config.xml.

Again, this may be something that I don't understand well.  If we
don't configure it in config.xml, how do we allow users to drop in
their tomcat server.xml without rebuilding the tomcat plugin?

>> AFAIK, server.xml doesn't contain any app info.   I agree that this is
>> a very big change and requires a lot of testing to make sure things
>> are not regressed.
> Adding this new namespace driven builder is entirely new functionality so
> there is not really any chance of regressions unless we decide to deploy the
> "standard" tomcat server this way, which is certainly not necessary to
> adding the feature.  So, to me the only problems are actually writing the
> deployer and making sure it at least sort of works.

To me, anything that has been changed needs to be tested somehow :)
Regarding writing the deployer, I assume you meant the ability for G
to deploy tomcat ready web archives.   I think this can involve a
large number of work, basically, we have to be able to generate
geronimo-web.xml for the user's web archives, and deploy the web
archive using the generated geronimo-web.xml file.