Jacek,
I'm still not sure what you're trying to achieve.
Right now, it looks like the server configuration files for the
assembly module (in src/plan) have Tomcat settings present but commented
out. In the simple world, if someone wanted to enable Tomcat, they'd need
to comment the Jetty settings and uncomment the Tomcat settings. There's
nothing that needs to be done with the deploy tool to make this work; just
change the server plans and rerun the assembly build. So on that basis,
you ought to be able to remove the deployer call from the Tomcat build
script.
In a more complex world, I think we could include both Tomcat and
Jetty in the same server. However, there would need to be some way to
signify that a particular WAR should be deployed to one or the other. The
deployer just asks each builder in turn whether it can handle a given
module, and we'd need to make sure that either Tomcat or Jetty answered
yes for any given web module. The easiest way to make this work at
present is probably to have the Jetty module deploy any web app with a
WEB-INF/geronimo-jetty.xml, and have Tomcat deploy other web apps. Once a
web app has been deployed by container X, it probably will always be
deployed with container X unless you undeploy it, change it around, and
redeploy it. Down the road, we'd need something more complex, but hey,
it's a start. Still, nothing here requires the deployer JAR to run during
the Tomcat build process.
So I'm thinking that whichever way you go, you can remove the call
to the deployer JAR from the Tomcat build, and then the Tomcat build
should work OK before the assembly module is built.
Aaron
On Mon, 6 Dec 2004, Jacek Laskowski wrote:
> Thanks Aaron! You made me think about it a bit more and I think I found
> it :) I thought Geronimo can only have one deployer that can handle a
> type (war, ejb, rar, ear, etc.). So, the idea was to comment one of them
> - either Jetty or Tomcat builder. However, I think that Geronimo can
> host two web module deployers, but the web servers (Jetty and Tomcat)
> will have to listen on two different ports. It should really work,
> shouldn't it? Let me try it out....
>
> (after a while)
>
> No, no, it won't probably work. It is because while deploying a module,
> it's serialized with information what container will deploy it (the
> module has a reference to the given-at-deployment JMX query string), so
> either it will be overwritten (the later wins) or at deployment the
> later won't be invoked at all.
>
> I will definitely have to take a look at the code.