[ 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