Currently there is only one deployer slot available for each module
type of an EAR. The following snippit from the shows the EAR deployer
configuration
<gbean
name="geronimo.deployer:role=Builder,type=EAR,config=org/apache/
geronimo/J2EEDeployer"
class="org.apache.geronimo.j2ee.deployment.EARConfigBuilder">
<reference name="EJBConfigBuilder">some:object=name</reference>
<reference name="WebConfigBuilder">some:object=name</reference>
<reference
name="ConnectorConfigBuilder">some:object=name</reference>
<reference
name="AppClientConfigBuilder">some:object=name</reference>
</gbean>
I strongly suggest that we only run one servlet engine in Geronimo.
Both Tomcat and Jetty are pretty large, so I think we should have
separate distributions for them. Of course this would be easier if I
had moved assembly last weekend.
-dain
--
Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26
On Dec 6, 2004, at 8:04 AM, Aaron Mulder wrote:
> 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.
|