I'd like to throw more gasoline on this fire by extending my proposal below:

1. Use the gbean.enabled attribute extensively and include both the jetty and tomcat servers in the main config, with possibly one of them disabled: extend the config db so it can save the enabled/disabled state. Then you can turn the one you want on or off.

2. Write a delegating web deployer that has a default deployer, used for "no plan" and "generic plan": others it points to the correct deployer based on the namespace.

Then we will need only one set of plans, and one assembly.

thanks
david jencks



<snip>
So, I realize there is a bit of weakness in my idea, namely a lot of web apps don't need a plan: so in my rosy future, there would need to be a "default web container" that these would get pushed to. So, how about this idea:

a "fake" common schema that includes the common elements and a single [virtual-]host element a jetty schema that is the same except allowing multiple virtual-host elements a tomcat schema that is the same but includes the additional tomcat specific elements.

The tomcat and jetty builders can both change the common namespace to their own namespace and deploy as if it is their own.

This takes care of 100% of the cases you mentioned :-) However, it doesn't take care of the <cross-context/> element which can be put in the tomcat config without making it undeployable on jetty. I'll actually weaken my case a bit by pointing out that the tomcat specific gbeans relating to the tomcat-realm and valve-chain should probably come from tomcat specific xml in the tomcat schema rather than plain gbean definitions.

Could you live with this proposal?

thanks
david jencks


Reply via email to