geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <d...@iq80.com>
Subject Re: How to deploy a web application based on Struts 1.2, Spring 1.2 and Hibernate 3 on Geronimo 1.0?
Date Wed, 12 Apr 2006 19:58:45 GMT
On Apr 10, 2006, at 7:15 PM, Mammen wrote:

> Guilherme Rios <rios_luohan@...> writes:
>
>>
>> The way I see it, a "vanilla" J2EE application would be deployed in
>> Geronimo without problems. The issue is, when you depend on projects
>> that Geronimo also provides and are not part of standard J2EE but  
>> became
>>   de facto standards, you have to use a vendor-specific deployment  
>> plan.
>> This is not desirable, but does not differ much from what others  
>> do either.
>>
>> I would not consider it a J2EE compatibility issue, but given lots of
>> people - me included =) - will deploy struts/spring/hibernate apps to
>> Geronimo it would be nice being able to do so without having to deal
>> with specific application server issues.
>

This is a known problem.  I don't expect this to be fixed in 1.1, but  
hopefully soon after 1.1 ships we will have a fix available.


> As far as I understood the specs, the webapps jar files in WEB-INF/ 
> lib classes
> should be visible to the web application, not servers when there  
> are different
> versions of the same class. This way I can have many different  
> versions of
> classes in seperate web app. This should be default.
> Anyway the application that I am deploying has deployed  
> successfully into Tomcat,
> Jetty and Weblogic without any modification in classloader  
> configuration.

There are two specs that come into play here.  The Servlet specs says  
the WEB-INF/LIB has precedence over the server classes, and the J2EE  
spec says the exact opposite.  Since Geronimo is a J2EE server the  
default is to follow the J2EE spec.  You can change this by setting  
the inverse class loading option.  Unfortunately, setting this flag  
will not solve your problem (it's a long story), and you need the  
hidden filters.  To truly fix these problems, we need to isolate your  
application classes into a separate class loader that can only see  
the Servlet spec classes, and doing this requires some fairly  
invasive changes to the deployment system.

-dain

Mime
View raw message