[ 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

Reply via email to