Hi,

When configuring Jms Transport with a custom ThreadPoolTaskExecutor
(using JmsConfiguration), I get a NoSuchMethodError in
JmsFactory.createJmsListener.

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)

The problem is, that CXF is compiled with Spring 2.5.X. If the code is
compiled with Spring 3.0 a similar exception would be thrown when
running with Spring 2.5.X classes.

I tested to rebuilt cxf-rt-transports-jms with the
spring.version=3.0.0.RELEASE and all works OK.


Is this a known problem?


Milan

-------------------------------------

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

Reply via email to