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


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.

Reply via email to