Greg Wilkins wrote:


below...

Jan Bartel wrote:

Sorry for the late and rushed reply, but briefly:

David Jencks wrote:
<snip>

Web framework. Along with converting to use GeronimoMBeans, the functionality of the web deployer should be separated from the web container to match the architecture of the other deployer/container frameworks.



I will look into the GeronimoMBean for the web layer, however I am not convinced of the separation of the deployer from the web container. It suits the web layer that the container is the deployer because:


1. we want to be able to run multiple Jettys
2. we want to be able to run multiple Tomcats AND multiple Jettys (AND whatever else web container flavours).


Refactoring out the deployer functionality from the web container just introduces problems of the deployer working out which instance of a web container to deploy to.


Isn't it going to have to anyway? For example, if your runtime contains two Jetty's and a Tomcat then you will need to identify the target during deployment.


<snip/>

Thus I think we need to solve the relationship between deployer and
container based on more than just type for all deployers.


By separating deployment from runtime we achieve this.

For example, when you deploy a WAR you would say that you wanted to use the Jetty deployer. That will result, probably, in Jetty specific GBeans being constructed.

During the same deployment session, you could also choose to deploy another WAR using the Tomcat deployer. This is going to generate Tomcat specific GBeans.

There is nothing to stop you doing that (well maybe common sense) and you will end up with a configuration that requires both Jetty and Tomcat to be present.

Currently Jan and I have done this by making the WebContainer a deployer,
so that if multiple webcontainers are present, each will be offerred a
WAR, connector, sessionmanager etc. and can decide if it will deploy it.


I don't think this is a good separation of concerns - the work done during deployment seems to me to be completely different from what needs to be done by the container at runtime.


If we are to separate the deployer from container, then we will need
to add a way to specify a sub-type or specific instance of a container
to the gDD.  It would be best if this was done generically and not just
for the web containers.


Is it enough just to have deployer specific vendor DDs e.g. geronimo-jetty.xml and geronimo-tomcat.xml? This would seem like an easy way to separate them out - if you have both DDs and both deployers then the container arbitrarily chooses one.


--
Jeremy

Reply via email to