[ http://issues.apache.org/jira/browse/GERONIMO-1596?page=all ]
Aaron Mulder updated GERONIMO-1596: ----------------------------------- Assign To: (was: Aaron Mulder) > Repeated interface in JMS connection factory plan causes deployment failure > --------------------------------------------------------------------------- > > Key: GERONIMO-1596 > URL: http://issues.apache.org/jira/browse/GERONIMO-1596 > Project: Geronimo > Type: Bug > Security: public(Regular issues) > Components: deployment, ActiveMQ > Versions: 1.1 > Reporter: Aaron Mulder > Priority: Critical > Fix For: 1.1.1 > > If you deploy a connection factory with an implemented-interface that has the > same value as the connectionfactory-interface, then there are explosions > during deployment. However, the deployment is not actually rejected, it just > ends up deploying something that doesn't work. The cause appears to be > generating code that implements the same interface twice -- we should either > silently ignore one of them (preferable) or reject the deployment alltogether > (workable, I guess). > The plan that caused this contained: > ... > <outbound-resourceadapter> > <connection-definition> > <connectionfactory-interface> > javax.jms.TopicConnectionFactory > </connectionfactory-interface> > <connectiondefinition-instance> > <name>jms/MyTopicConnectionFactory</name> > <implemented-interface> > javax.jms.TopicConnectionFactory > </implemented-interface> > ... > And the error is: > 23:39:59,747 ERROR [GBeanInstanceState] Error while starting; GBean is now in > the FAILED state: > objectName="geronimo.server:J2EEApplication=null,J2EEServer=geronimo,JCAResource=MyTopicConnectionFactory,j2eeType=JCAManagedConnectionFactory,name=jms/MyTopicConnectionFactory" > net.sf.cglib.core.CodeGenerationException: > java.lang.reflect.InvocationTargetException-->null > at > net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:237) > at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377) > at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:304) > at > org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper.doStart(ManagedConnectionFactoryWrapper.java:215) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537) > at > org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208) > at > org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315) > at > org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>) > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173) > at > org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:142) > at > org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>) > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) > at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125) > at > org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>) > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835) > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178) > at > org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117) > at > mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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(RMIConnectionSubjectInvoker.java:99) > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31) > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.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(RMIConnectionSubjectInvoker.java:86) > at > mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80) > at $Proxy0.invoke(Unknown Source) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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(TCPTransport.java:701) > at java.lang.Thread.run(Thread.java:534) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384) > at > net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219) > ... 57 more > Caused by: java.lang.ClassFormatError: > $javax/jms/TopicConnectionFactory$$EnhancerByCGLIB$$ed4b84c5 (Repetitive > interface name) > at java.lang.ClassLoader.defineClass0(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:539) > ... 62 more -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira