geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Genender <>
Subject Re: A Tomcat deployment question
Date Fri, 11 Feb 2005 17:48:05 GMT

David Jencks wrote:
> On Feb 11, 2005, at 7:29 AM, Jacek Laskowski wrote:
>> Jeff Genender wrote:
>>>> Jeff,
>>>>     why do we need to use the TomcatModuleBuilder(TMB)
>>>> in j2ee-deployer-plan.xml ?
>>> Actually, I just left it in there because A) There is a Jetty 
>>> Webbuilder version in there, and also for the sake of consistency.  I 
>>> haven't tried to remove it from the j2ee-deployer-plan.xml.  Its 
>>> definately worth a try and see what happens. If any of the Jetty guys 
>>> want to chime in on this, it would definately be appreciated.
>> Hi,
>> Without the deployer it will be impossible to deploy webapps into 
>> Tomcat embedded in Geronimo. It's based on the ideas of 
>> JettyWebBuilder. The aim of a builder in general is to create GBeans, 
>> set up relationships, etc. It is how Geronimo will get to know how to 
>> initialize and run them later on during its startup. Unless Jeff 
>> changed more that I'm aware of TomcatModuleBuilder creates a GBean for 
>> each of the deployed webapps. It may have been done using 
>> JettyModuleBuilder, but we have to remember that Gbeans that represent 
>> webapps deployed on Jetty have dependencies on Jetty libs and thus 
>> they wouldn't work deployed on Tomcat.
>> A single webapp module builder (aka webapp deployer) is what will be 
>> the next major step, I guess. Instead of repeating what's already done 
>> in JettyModuleBuilder it'd be better off to have a geronimo-web.xml 
>> with a variable that would indicate what web container should the 
>> webapp be deployed to.

+1.  This would be great to have. But we have some additions...see below.

> I think this depends on gbeanizing the tomcat components that hold 
> serviets and filters, and possibly a couple other things.

We are on our way. But there are a few additional things we will need to 
deal with on the Tomcat side such as the Tomcat specific items that need 
to be passed, like custom Realms, Valves, etc.  We would need this 
generic builder to allow us to "hook" into it for the Tomcat specific stuff.

>>>> Are you actually able to run apps on Tomcat using the current TMB?
>>> Simple apps should be fine.  When I mean simple, I mean with no 
>>> security and are standard servlet/JSP applications. The Tomcat object 
>>> integration now supports just about everything including root 
>>> component contexts, geronimo user transactions, JACC, and JAAS, 
>>> security/policy contexts, and custom geronimo web application 
>>> contexts.  When I say object integration, I mean the code and objects 
>>> to hook into Tomcat have been written and somewhat unit tested.
>> More on It asks for some 
>> updates  I guess reading the thread ;)

I need to update the wiki, there have been a couple of changes.  I will 
get on it.

>>> The major bridge for total integration is finishing the builder. The 
>>> builder currently does not pass on the security objects.  The TMB 
>>> needs alot of work yet to get this integrated.  I understand Jacek is 
>>> currently working on this.
>> Not quite, but it's on my todo list. Was very busy lately. Hopefully, 
>> when kids are gone (school winter holidays in Poland, hurrayy!) I'll 
>> be less overloaded.
>>> 2) The concept of a server.xml file needs to be supported for the 
>>> Tomcat container.  In order to allow people to run thier web apps, we 
>>> must support custom Valves and Realms at the container, host, and 
>>> context levels.  This is normally declared in a server.xml file, 
>>> however, we could allow for this type of declaration to be 
>>> implemented in the plans somehow.  We need to kick around the 
>>> appropriate place for this.  In any case, this would eventually be a 
>>> required add-on to the TMB.
>> Definitelly a must for Geronimo's newcommers. I completely forgot 
>> about it.

I am leaning to have the declaration in the plan as opposed to a 
seperate server.xml.  This can work very well.  When we get to this we 
should talk about how to handle the container, host, and context level 
declarations for the realm and valves.

> If everything is gbean-ized, then this can be done by deploying various 
> gbeans.  Similarly, default servlets for static content and jsps are 
> added to each deployed web app by "cloning" various gbeans that the 
> deployer knows about.
>>> 3) It would be nice to have the servlets be GBeanized, like Jetty. 
>>> Although this is not a requirement to get Tomcat integrated, it would 
>>> be a nice-to-have for consistency sake.
>> It's a low priority requirement. Let's leave it for now.
>  I think this will be needed for supporting portlet application and web 
> services deployment in tomcat/geronimo.

Looking at the Jetty code on this, it doesn't seem too difficult to 
implement this in Tomcat as well.

> thanks
> david jencks
>>> Jeff
>> Jacek

Jeff Genender

View raw message