[ https://issues.apache.org/jira/browse/CXF-2630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848181#action_12848181 ]
Milan Duriancik edited comment on CXF-2630 at 3/22/10 4:32 PM: --------------------------------------------------------------- I'm affraid that this does not work (CXF 2.2.7, Spring 3.0.1.RELEASE). Always getting a java.lang.NoSuchMethodError exception. I think, Daniel, that you forgot to delete the line 251, after having fixed the problem (with line 250) .... org.apache.cxf.transport.jms.JMSFactory: {code:java} 249: if (jmsConfig.getTaskExecutor() != null) { 250: setTaskExecutor(jmsListener, jmsConfig.getTaskExecutor()); 251: jmsListener.setTaskExecutor(jmsConfig.getTaskExecutor()); 252: } {code} ----- java.lang.NoSuchMethodError: org/springframework/jms/listener/DefaultMessageListenerContainer.setTaskExecutor(Lorg/springframework/core/task/TaskExecutor;)V at org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:251) at org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:163) at org.apache.cxf.transport.jms.JMSDestination.activate(JMSDestination.java:115) at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48) at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:164) at org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:807) at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122) at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:274) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:212) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:407) ... was (Author: miland): I'm affraid that this does not work (CXF 2.2.7, Spring 3.0.1.RELEASE). Always getting a java.lang.NoSuchMethodError exception. I think, Daniel, that you forgot to delete the line 251, after having fixed the problem (with line 250) .... org.apache.cxf.transport.jms.JMSFactory: 249: if (jmsConfig.getTaskExecutor() != null) { 250: setTaskExecutor(jmsListener, jmsConfig.getTaskExecutor()); 251: jmsListener.setTaskExecutor(jmsConfig.getTaskExecutor()); 252: } ----- java.lang.NoSuchMethodError: org/springframework/jms/listener/DefaultMessageListenerContainer.setTaskExecutor(Lorg/springframework/core/task/TaskExecutor;)V at org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:251) at org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:163) at org.apache.cxf.transport.jms.JMSDestination.activate(JMSDestination.java:115) at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48) at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:164) at org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:807) at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122) at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:274) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:212) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:407) ... > JmsConfiguration with custom TaskExecutor with Spring 3.0 => > NoSuchMethodError > ------------------------------------------------------------------------------- > > Key: CXF-2630 > URL: https://issues.apache.org/jira/browse/CXF-2630 > Project: CXF > Issue Type: Bug > Components: Transports > Affects Versions: 2.2.5 > Environment: All > Reporter: Milan Duriancik > Assignee: Daniel Kulp > Fix For: 2.2.7 > > > When configuring Jms Transport with a custom ThreadPoolTaskExecutor (using > JmsConfiguration), I get a NoSuchMethodError in > JmsFactory.createJmsListener (tested with cxf 2.2.5 and 2.2.6-SNAPSHOT, > 21/01/2010) . > This is caused by a change in Spring 3.0: > DefaultMessageListenerContainer.setTaskExecutor(TaskExecutor) -> > DefaultMessageListenerContainer.setTaskExecutor(Executor). > (TaskExecutor extends Executor in Spring 3.0 but not in Spring 2.5.x) > I tested to rebuilt cxf-rt-transports-jms with spring.version=3.0.0.RELEASE > and it was OK when executed with Spring 3.0 classes. > To support both spring versions 3.*.* and 2.5.* a reflexion call to > setTaskExecutor(...) should be made. > ------------------------------------- > the exception: > java.lang.NoSuchMethodError: > org/springframework/jms/listener/DefaultMessageListenerContainer.setTaskExecutor(Lorg/springframework/core/task/TaskExecutor;)V > at > org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:237) > at > org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:150) > at > org.apache.cxf.transport.jms.JMSDestination.activate(JMSDestination.java:116) > at > org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48) > at > org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:164) > at > org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:805) > at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122) > at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:271) > at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209) > at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:404) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1529) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1468) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398) > ... 37 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.