geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gianny Damour <>
Subject Re: Unable to deploy simple Tapestry app.
Date Thu, 20 Apr 2006 14:43:51 GMT
I have found the issue and quickly hacked a fix on my local (set a 
Loader with the correct CL in GeronimoStandardContext).

Basically, the Thread Context ClassLoader is wrong and it causes this 
problem: it is set to a WebappLoader, which automatically imports the 
jars in the WEB-INF/lib folder, and its parent is "our" 
TomcatClassLoader, which imports once again the jars in WEB-INF/lib. 
Hence, the META-INF/hivemodule.xml resource is found two times in the 
same jar.

I will clean this hack over the week-end.


Gianny Damour wrote:

> Hi Bryan,
> It seems that you have increased the severity of the associated JIRA; 
> so, I am currently having a look to this problem.
> Meanwhile, you should be able to run your Tapestry app with Jetty as 
> the servlet engine. Basically, I have the "wrap" Tapestry example 
> running fine with Jetty and failing with Tomcat with the reported 
> exception.
> Thanks,
> Gianny
> Bryan Noll wrote:
>> Sorry it has taken me so long to respond.  Down for a couple days 
>> with the flu.
>> org.apache.tapestry.ApplicationServlet.init is only getting called once
>> public void init(ServletConfig config) throws ServletException
>> {
>>    String name = config.getServletName();
>>"##### Entered ApplicationServlet.init method. Servlet 
>> name = '" + name + "'; " + new java.util.Date());
>> ...
>> produces one log statement...
>> 09:04:16,866 INFO  [ApplicationServlet] ##### Entered 
>> ApplicationServlet.init method. Servlet name = 'tapestry'; Wed Apr 19 
>> 09:04:16 MDT 2006
>> David Jencks wrote:
>>> Can you put a breakpoint at
>>>> org.apache.tapestry.ApplicationServlet.init(

>>> and see if that is getting called twice and if so if it is the same 
>>> servlet instance?
>>> thanks
>>> david jencks
>>> On Apr 16, 2006, at 8:10 PM, Bryan Noll wrote:
>>>> Folks on this dev list seem pretty busy working through jira issues 
>>>> and the like for the release.  I'm moving this over to the user 
>>>> list... maybe someone there has been there, done that with this 
>>>> Tapestry/Geronimo integration.
>>>> Thanks...
>>>> Bryan Noll wrote:
>>>>> Hello...
>>>>> I'm having some issues deploying a simple Tapestry application to 
>>>>> Geronimo.  I'm trying to keep it as simple as I can... no 
>>>>> geronimo-web.xml.  So, Tapestry is tightly coupled with Hivemind, 
>>>>> and Hivemind is complaining... telling me "Module hivemind is 
>>>>> duplicated!".  It would appear to me that this seems like a class 
>>>>> loading issue with Geronimo.  Evidently, the hivemind-1.1.jar 
>>>>> library that's bundled in the war is getting deployed twice.... or 
>>>>> something like that.
>>>>> To give you an brief idea of what's going on here, the Tapestry 
>>>>> bootstrap process is attempting to get all of these hivemodule.xml 
>>>>> files loaded by iterating over a Collection of them.  That is 
>>>>> what's happening every time 
>>>>> 'RegistryInfrastructureConstructor.addModuleDescriptor' is getting 
>>>>> called.  So, right before I get the following stack strace, I see 
>>>>> some debug level logging coming out of the hivemind code saying 
>>>>> '12:54:13,609 DEBUG [RegistryBuilder] Processing module 
>>>>> hivemind'.  That is the 2nd time I see that, hence the 
>>>>> got it loaded the 1st time, and is now puking.
>>>>> Here's the stacktrace.  I'm gonna post to the Tapestry list as 
>>>>> well and see if they've got anything to say about it.
>>>>> Thanks in advance for any thoughts....
>>>>> org.apache.hivemind.ApplicationRuntimeException: Error: Module 
>>>>> hivemind is duplicated!  Definition in 
>>>>> jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml

>>>>> has been ignored in favor of existing definition from 
>>>>> jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.

>>>>> org.apache.hivemind.impl.StrictErrorHandler.error(


View raw message