You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Bryan Noll <bn...@virtuas.com> on 2006/04/14 22:10:35 UTC

Unable to deploy simple Tapestry app.

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 problem...it 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(StrictErrorHandler.java:39)
org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
$Proxy4.invoke(Unknown Source)
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
sun.rmi.transport.Transport$1.run(Transport.java:148)
java.security.AccessController.doPrivileged(Native Method)
sun.rmi.transport.Transport.serviceCall(Transport.java:144)
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
java.lang.Thread.run(Thread.java:534)

-- 
+-------------------------------
| Bryan Noll
| Practice Consultant
| Virtuas Open Source Solutions
| o: 303.260.7300 x713
| c: 720.201.9659
+-------------------------------


Re: Unable to deploy simple Tapestry app.

Posted by Gianny Damour <gi...@optusnet.com.au>.
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.

Thanks,
Gianny


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();
>>
>>    LOG.info("##### 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(ApplicationServlet.java:194) 
>>>>
>>>
>>>
>>>
>>> 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 
>>>>> problem...it 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(StrictErrorHandler.java:39) 
>>>>>
>>>>



Re: Unable to deploy simple Tapestry app.

Posted by Gianny Damour <gi...@optusnet.com.au>.
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();
>
>    LOG.info("##### 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(ApplicationServlet.java:194) 
>>>
>>
>>
>> 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 problem...it 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(StrictErrorHandler.java:39) 
>>>>
>>>> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202) 
>>>>
>>>> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168) 
>>>>
>>>> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143) 
>>>>
>>>> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253) 
>>>>
>>>> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194) 
>>>>
>>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105) 
>>>>
>>>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932) 
>>>>
>>>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915) 
>>>>
>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176) 
>>>>
>>>> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66) 
>>>>
>>>> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270) 
>>>>
>>>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31) 
>>>>
>>>> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185) 
>>>>
>>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) 
>>>>
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) 
>>>>
>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
>>>> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287) 
>>>>
>>>> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>) 
>>>>
>>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) 
>>>>
>>>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36) 
>>>>
>>>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 
>>>>
>>>> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>) 
>>>>
>>>> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537) 
>>>>
>>>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208) 
>>>>
>>>> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315) 
>>>>
>>>> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>) 
>>>>
>>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>>>>
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) 
>>>>
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173) 
>>>>
>>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229) 
>>>>
>>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>) 
>>>>
>>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>>>>
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) 
>>>>
>>>> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
>>>> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>) 
>>>>
>>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>>
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>>>>
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) 
>>>>
>>>> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117) 
>>>>
>>>> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219) 
>>>>
>>>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>>>
>>>> java.lang.reflect.Method.invoke(Method.java:324)
>>>> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
>>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99) 
>>>>
>>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31) 
>>>>
>>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90) 
>>>>
>>>> java.security.AccessController.doPrivileged(Native Method)
>>>> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
>>>> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
>>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86) 
>>>>
>>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80) 
>>>>
>>>> $Proxy4.invoke(Unknown Source)
>>>> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221) 
>>>>
>>>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>>>
>>>> java.lang.reflect.Method.invoke(Method.java:324)
>>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
>>>> sun.rmi.transport.Transport$1.run(Transport.java:148)
>>>> java.security.AccessController.doPrivileged(Native Method)
>>>> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
>>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) 
>>>>
>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) 
>>>>
>>>> java.lang.Thread.run(Thread.java:534)
>>>>
>>>
>>> --+-------------------------------
>>> | Bryan Noll
>>> | Practice Consultant
>>> | Virtuas Open Source Solutions
>>> | o: 303.260.7300 x713
>>> | c: 720.201.9659
>>> +-------------------------------
>>>
>>
>>
>>
>



Re: Unable to deploy simple Tapestry app.

Posted by Bryan Noll <bn...@virtuas.com>.
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();

    LOG.info("##### 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(ApplicationServlet.java:194)
>
> 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 problem...it 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(StrictErrorHandler.java:39) 
>>>
>>> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202) 
>>>
>>> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168) 
>>>
>>> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143) 
>>>
>>> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253) 
>>>
>>> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194) 
>>>
>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105) 
>>>
>>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
>>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915) 
>>>
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176) 
>>>
>>> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66) 
>>>
>>> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270) 
>>>
>>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31) 
>>>
>>> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185) 
>>>
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) 
>>>
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
>>> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287) 
>>>
>>> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>) 
>>>
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800) 
>>>
>>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36) 
>>>
>>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 
>>>
>>> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>) 
>>>
>>> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537) 
>>>
>>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208) 
>>>
>>> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315) 
>>>
>>> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>) 
>>>
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>>>
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) 
>>>
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173) 
>>>
>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229) 
>>>
>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>) 
>>>
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>>>
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) 
>>>
>>> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
>>> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>) 
>>>
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>>>
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>>>
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) 
>>>
>>> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117) 
>>>
>>> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219) 
>>>
>>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>>
>>> java.lang.reflect.Method.invoke(Method.java:324)
>>> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99) 
>>>
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31) 
>>>
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90) 
>>>
>>> java.security.AccessController.doPrivileged(Native Method)
>>> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
>>> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86) 
>>>
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80) 
>>>
>>> $Proxy4.invoke(Unknown Source)
>>> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221) 
>>>
>>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>>
>>> java.lang.reflect.Method.invoke(Method.java:324)
>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
>>> sun.rmi.transport.Transport$1.run(Transport.java:148)
>>> java.security.AccessController.doPrivileged(Native Method)
>>> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) 
>>>
>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) 
>>>
>>> java.lang.Thread.run(Thread.java:534)
>>>
>>
>> --+-------------------------------
>> | Bryan Noll
>> | Practice Consultant
>> | Virtuas Open Source Solutions
>> | o: 303.260.7300 x713
>> | c: 720.201.9659
>> +-------------------------------
>>
>
>
>

-- 
+-------------------------------
| Bryan Noll
| Practice Consultant
| Virtuas Open Source Solutions
| o: 303.260.7300 x713
| c: 720.201.9659
+-------------------------------


Re: Unable to deploy simple Tapestry app.

Posted by David Jencks <da...@yahoo.com>.
Can you put a breakpoint at

> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java: 
> 194)

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  
>> problem...it 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 
>> (StrictErrorHandler.java:39)
>> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleD 
>> escriptor(RegistryInfrastructureConstructor.java:202)
>> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvi 
>> der(RegistryBuilder.java:168)
>> org.apache.hivemind.impl.RegistryBuilder.constructRegistry 
>> (RegistryBuilder.java:143)
>> org.apache.tapestry.ApplicationServlet.constructRegistry 
>> (ApplicationServlet.java:253)
>> org.apache.tapestry.ApplicationServlet.init 
>> (ApplicationServlet.java:194)
>> org.apache.catalina.core.StandardWrapper.loadServlet 
>> (StandardWrapper.java:1105)
>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 
>> 932)
>> org.apache.catalina.core.StandardContext.loadOnStartup 
>> (StandardContext.java:3915)
>> org.apache.catalina.core.StandardContext.start 
>> (StandardContext.java:4176)
>> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101 
>> (GeronimoStandardContext.java:66)
>> org.apache.geronimo.tomcat.GeronimoStandardContext 
>> $SystemMethodValve.invoke(GeronimoStandardContext.java:270)
>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke 
>> (GeronimoBeforeAfterValve.java:31)
>> org.apache.geronimo.tomcat.GeronimoStandardContext.start 
>> (GeronimoStandardContext.java:185)
>> org.apache.catalina.core.ContainerBase.addChildInternal 
>> (ContainerBase.java:759)
>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 
>> 739)
>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
>> org.apache.geronimo.tomcat.TomcatContainer.addContext 
>> (TomcatContainer.java:287)
>> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$ 
>> $9370b073.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
>> (FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
>> (GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:800)
>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke 
>> (RawInvoker.java:57)
>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke 
>> (RawOperationInvoker.java:36)
>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept 
>> (ProxyMethodInterceptor.java:96)
>> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$ 
>> $7af7fb0d.addContext(<generated>)
>> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart 
>> (TomcatWebAppContext.java:416)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance 
>> (GBeanInstance.java:936)
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart 
>> (GBeanInstanceState.java:325)
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
>> (GBeanInstanceState.java:110)
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive 
>> (GBeanInstanceState.java:132)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive 
>> (GBeanInstance.java:537)
>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean 
>> (BasicKernel.java:208)
>> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans( 
>> Configuration.java:315)
>> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$ 
>> $7f4b4a9b.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
>> (FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
>> (GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:835)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke 
>> (BasicKernel.java:178)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke 
>> (BasicKernel.java:173)
>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start 
>> (ConfigurationManagerImpl.java:229)
>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$ 
>> $FastClassByCGLIB$$fbed85d2.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
>> (FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
>> (GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:835)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke 
>> (BasicKernel.java:178)
>> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
>> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$ 
>> $1cccefc9.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
>> (FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
>> (GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:835)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke 
>> (BasicKernel.java:178)
>> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke 
>> (MBeanServerDelegate.java:117)
>> mx4j.remote.rmi.RMIConnectionInvoker.invoke 
>> (RMIConnectionInvoker.java:219)
>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke 
>> (DelegatingMethodAccessorImpl.java:25)
>> java.lang.reflect.Method.invoke(Method.java:324)
>> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain 
>> (RMIConnectionSubjectInvoker.java:99)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000 
>> (RMIConnectionSubjectInvoker.java:31)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run 
>> (RMIConnectionSubjectInvoker.java:90)
>> java.security.AccessController.doPrivileged(Native Method)
>> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
>> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke 
>> (RMIConnectionSubjectInvoker.java:86)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke 
>> (RMIConnectionSubjectInvoker.java:80)
>> $Proxy4.invoke(Unknown Source)
>> javax.management.remote.rmi.RMIConnectionImpl.invoke 
>> (RMIConnectionImpl.java:221)
>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke 
>> (DelegatingMethodAccessorImpl.java:25)
>> java.lang.reflect.Method.invoke(Method.java:324)
>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
>> sun.rmi.transport.Transport$1.run(Transport.java:148)
>> java.security.AccessController.doPrivileged(Native Method)
>> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
>> sun.rmi.transport.tcp.TCPTransport.handleMessages 
>> (TCPTransport.java:460)
>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run 
>> (TCPTransport.java:701)
>> java.lang.Thread.run(Thread.java:534)
>>
>
> -- 
> +-------------------------------
> | Bryan Noll
> | Practice Consultant
> | Virtuas Open Source Solutions
> | o: 303.260.7300 x713
> | c: 720.201.9659
> +-------------------------------
>


Re: Unable to deploy simple Tapestry app.

Posted by Bryan Noll <bn...@virtuas.com>.
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 problem...it 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(StrictErrorHandler.java:39) 
>
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202) 
>
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168) 
>
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143) 
>
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253) 
>
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105) 
>
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915) 
>
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66) 
>
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270) 
>
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31) 
>
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185) 
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) 
>
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287) 
>
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800) 
>
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36) 
>
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 
>
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>) 
>
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208) 
>
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315) 
>
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229) 
>
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117) 
>
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219) 
>
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90) 
>
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80) 
>
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221) 
>
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) 
>
> java.lang.Thread.run(Thread.java:534)
>

-- 
+-------------------------------
| Bryan Noll
| Practice Consultant
| Virtuas Open Source Solutions
| o: 303.260.7300 x713
| c: 720.201.9659
+-------------------------------


Re: Unable to deploy simple Tapestry app.

Posted by Bryan Noll <bn...@virtuas.com>.
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 problem...it 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(StrictErrorHandler.java:39) 
>
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202) 
>
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168) 
>
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143) 
>
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253) 
>
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105) 
>
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915) 
>
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66) 
>
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270) 
>
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31) 
>
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185) 
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) 
>
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287) 
>
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800) 
>
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36) 
>
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 
>
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>) 
>
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208) 
>
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315) 
>
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229) 
>
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117) 
>
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219) 
>
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90) 
>
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80) 
>
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221) 
>
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) 
>
> java.lang.Thread.run(Thread.java:534)
>

-- 
+-------------------------------
| Bryan Noll
| Practice Consultant
| Virtuas Open Source Solutions
| o: 303.260.7300 x713
| c: 720.201.9659
+-------------------------------


Re: Unable to deploy simple Tapestry app.

Posted by Bryan Noll <bn...@virtuas.com>.
Folks on this 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 problem...it 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(StrictErrorHandler.java:39) 
>
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202) 
>
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168) 
>
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143) 
>
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253) 
>
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105) 
>
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915) 
>
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66) 
>
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270) 
>
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31) 
>
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185) 
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) 
>
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287) 
>
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800) 
>
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36) 
>
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 
>
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>) 
>
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208) 
>
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315) 
>
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229) 
>
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>) 
>
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) 
>
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) 
>
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117) 
>
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219) 
>
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90) 
>
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86) 
>
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80) 
>
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221) 
>
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) 
>
> java.lang.Thread.run(Thread.java:534)
>

-- 
+-------------------------------
| Bryan Noll
| Practice Consultant
| Virtuas Open Source Solutions
| o: 303.260.7300 x713
| c: 720.201.9659
+-------------------------------