geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Noll <bn...@virtuas.com>
Subject Re: Unable to deploy simple Tapestry app.
Date Wed, 19 Apr 2006 15:08:11 GMT
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
+-------------------------------


Mime
View raw message