|
|
|
|
@ -275,13 +275,17 @@ class CachedMessageProducer implements MessageProducer, QueueSender, TopicPublis
@@ -275,13 +275,17 @@ class CachedMessageProducer implements MessageProducer, QueueSender, TopicPublis
|
|
|
|
|
try { |
|
|
|
|
if (method.getName().equals("send") && args != null && |
|
|
|
|
completionListenerClass.equals(method.getParameterTypes()[args.length - 1])) { |
|
|
|
|
if (args.length == 2) { |
|
|
|
|
return sendWithCompletionListenerMethod.invoke( |
|
|
|
|
target, args[0], deliveryMode, priority, timeToLive, args[1]); |
|
|
|
|
} |
|
|
|
|
else if (args.length == 3) { |
|
|
|
|
return sendWithDestinationAndCompletionListenerMethod.invoke( |
|
|
|
|
target, args[0], args[1], deliveryMode, priority, timeToLive, args[2]); |
|
|
|
|
switch (args.length) { |
|
|
|
|
case 2: // send(message, completionListener)
|
|
|
|
|
return sendWithCompletionListenerMethod.invoke( |
|
|
|
|
target, args[0], deliveryMode, priority, timeToLive, args[1]); |
|
|
|
|
case 3: // send(destination, message, completionListener)
|
|
|
|
|
return sendWithDestinationAndCompletionListenerMethod.invoke( |
|
|
|
|
target, args[0], args[1], deliveryMode, priority, timeToLive, args[2]); |
|
|
|
|
case 5: // send(message, deliveryMode, priority, timeToLive, completionListener)
|
|
|
|
|
return sendWithCompletionListenerMethod.invoke(target, args); |
|
|
|
|
case 6: // send(destination, message, deliveryMode, priority, timeToLive, completionListener)
|
|
|
|
|
return sendWithDestinationAndCompletionListenerMethod.invoke(target, args); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return method.invoke(CachedMessageProducer.this, args); |
|
|
|
|
|