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.