Description
Christopher Shannon opened SPR-11950 and commented
#16566 fixes CachedMessageProducer so that Jms2MessageProducerInvocationHandler properly delegates calls to CachedMessageProducer.this.
However, only 2 out of the 4 new methods are supported that exist in the JMS 2.0 MessageProducer interface.
The following 2 methods are not supported by the proxy:
send(Message message, int deliveryMode, int priority, long timeToLive, CompletionListener completionListener)
send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive, CompletionListener completionListener)
For example, when attempting to execute one of these methods the following error occurs:
java.lang.AbstractMethodError: org.springframework.jms.connection.CachedMessageProducer.send(Ljavax/jms/Destination;Ljavax/jms/Message;IIJLjavax/jms/CompletionListener;)V
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.jms.connection.CachedMessageProducer$Jms2MessageProducerInvocationHandler.invoke(CachedMessageProducer.java:287)
.......
Affects: 4.0.5
Issue Links:
- CachingConnectionFactory doesn't properly cache producers with JMS 2.0 [SPR-11949] #16566 CachingConnectionFactory doesn't properly cache producers with JMS 2.0