Hi Bryan, i dont know if you already know it but: Geronimo is only JDK 1.4 (!) - it is known to have problems with JDK 5 and not ready therefore yet - while T4 wants JDK5 (at least the nice features) so this may be the main problem...
regards, korbinian > -----Ursprüngliche Nachricht----- > Von: Bryan Noll [mailto:[EMAIL PROTECTED] > Gesendet: Samstag, 15. April 2006 00:44 > An: tapestry-user@jakarta.apache.org > Betreff: Deploying a Tapestry app to Geronimo > > Re-posting this. Bringing it here from the dev list. > > -------------- > > Hello... > > I am trying to deploy a simple Tapestry app to Geronimo and > am having some issues. I've pasted the stack trace in here > to see. I'm pretty sure its a class loading issue with > Geronimo, because I got it works on JBoss and Tomcat just > fine. But, it did get me looking at some of the Tapestry > code, and I was curious about one thing I saw. > > I was getting the following error (see below for the full > stack trace)... > > 12:54:14,328 ERROR [[/equinox-tapestry]] Servlet > /equinox-tapestry threw > load() exception > org.apache.hivemind.ApplicationRuntimeException: Error: > Module hivemind is duplicated! Definition in > jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/44/war/W EB-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/44/war/W EB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml. > > > > So, I went and looked in > 'RegistryInfrastructureConstructor.addModuleDescriptor' and > saw where its calling '_errorHandler.error' if the map of > _modules already contains the current ModuleDescriptor passed > into the method as a parameter. The thing that caught my > attention was that the method makes a 'return;' call after > calling '_errorHandler.error'. > When I went and looked at the implementation of > '_errorHandler.error', I notice that it throws a runtime > exception, so the calling method never gets a chance to > return. I'm curious if this is intentional. > > The reason I wonder is because, just hacking around a bit, I > modified the implementation of the 'error' method so that it > simply logs an error, but does not throw an exception. I > re-built, and re-deployed... > and the app works just fine now. (I should mention I had to > skip the tests to build it, because there were failures if I didn't.) > > Like I said, if its working in JBoss and Tomcat, but not in > Geronimo, its probably a Geronimo issue. I was just curious > to find out if this implementation was how the developer > intended. Thanks... > > > > > > > 12:54:14,328 ERROR [[/equinox-tapestry]] Servlet > /equinox-tapestry threw > load() exception > org.apache.hivemind.ApplicationRuntimeException: Error: > Module hivemind is duplicated! Definition in > jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/44/war/W EB-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/44/war/W EB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml. > > at > org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorH > andler.java:39) > > at > org.apache.hivemind.impl.RegistryInfrastructureConstructor.add > ModuleDescriptor(RegistryInfrastructureConstructor.java:207) > > at > org.apache.hivemind.impl.RegistryBuilder.processModuleDescript > orProvider(RegistryBuilder.java:168) > > at > org.apache.hivemind.impl.RegistryBuilder.constructRegistry(Reg > istryBuilder.java:143) > > at > org.apache.tapestry.ApplicationServlet.constructRegistry(Appli > cationServlet.java:253) > > at > org.apache.tapestry.ApplicationServlet.init(ApplicationServlet > .java:194) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardW > rapper.java:1105) > > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper. > java:932) > at > org.apache.catalina.core.StandardContext.loadOnStartup(Standar > dContext.java:3915) > > at > org.apache.catalina.core.StandardContext.start(StandardContext > .java:4176) > at > org.apache.geronimo.tomcat.GeronimoStandardContext.access$101( GeronimoStandardContext.java:66) > > at > org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMetho dValve.invoke(GeronimoStandardContext.java:270) > > at > org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invo > ke(GeronimoBeforeAfterValve.java:31) > > at > org.apache.geronimo.tomcat.GeronimoStandardContext.start(Geron > imoStandardContext.java:185) > > at > org.apache.catalina.core.ContainerBase.addChildInternal(Contai > nerBase.java:759) > > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase. > java:739) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) > at > org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatCo > ntainer.java:287) > > at > org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$ 9370b073.invoke(<generated>) > > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(Fas > tMethodInvoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanO > peration.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanIn > stance.java:800) > > at > org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker > .java:57) > at > org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(Ra > wOperationInvoker.java:36) > > at > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.interc > ept(ProxyMethodInterceptor.java:96) > > at > org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$3 7e348e5.addContext(<generated>) > > at > org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatW > ebAppContext.java:416) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance > (GBeanInstance.java:936) > > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFu > llStart(GBeanInstanceState.java:325) > > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBe > anInstanceState.java:110) > > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecu > rsive(GBeanInstanceState.java:132) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive > (GBeanInstance.java:537) > > at > org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBe > an(BasicKernel.java:208) > > at > org.apache.geronimo.kernel.config.Configuration.startRecursive > GBeans(Configuration.java:315) > > at > org.apache.geronimo.kernel.config.Configuration$$FastClassByCG LIB$$7f4b4a9b.invoke(<generated>) > > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(Fas > tMethodInvoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanO > peration.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanIn > stance.java:835) > > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKerne > l.java:178) > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKerne > l.java:173) > at > org.apache.geronimo.kernel.config.ConfigurationManagerImpl.sta > rt(ConfigurationManagerImpl.java:229) > > at > org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$Fa stClassByCGLIB$$fbed85d2.invoke(<generated>) > > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(Fas > tMethodInvoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanO > peration.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanIn > stance.java:835) > > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKerne > l.java:178) > at > org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125) > at > org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1ccc efc9.invoke(<generated>) > > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(Fas > tMethodInvoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanO > peration.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanIn > stance.java:835) > > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKerne > l.java:178) > at > org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBea > nServerDelegate.java:117) > > at > mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvok > er.java:219) > at sun.reflect.GeneratedMethodAccessor306.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > odAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:324) > at > mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34) > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectio > nSubjectInvoker.java:99) > > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConn ectionSubjectInvoker.java:31) > > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectio nSubjectInvoker.java:90) > > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAsPrivileged(Subject.java:500) > at > mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163) > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIC > onnectionSubjectInvoker.java:86) > > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnecti > onSubjectInvoker.java:80) > > at $Proxy6.invoke(Unknown Source) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnec > tionImpl.java:221) > > at sun.reflect.GeneratedMethodAccessor352.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > odAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:324) > at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) > at sun.rmi.transport.Transport$1.run(Transport.java:148) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:144) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport > .java:460) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTr ansport.java:701) > > at java.lang.Thread.run(Thread.java:534) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]