I use the MessageListenerAdapter using the following interface as it's Delegate:
Code:
import java.io.Serializable;
import java.util.Map;

public interface MessageDelegate {

	void handleMessage(String aMessage);

	@SuppressWarnings("rawtypes")
	void handleMessage(Map aMessage);

	void handleMessage(byte[] aMessage);

	void handleMessage(Serializable aMessage);
}
When I send a MapMessage via the convertAndSend method of the JmsTemplate the MethodInvoker tries to find the right Method of the Delegate, in order to receive the payload of the Message (== at runtime a Object of type HashMap). The MethodInvoker selectes the following method
Code:
	void handleMessage(Serializable aMessage)
.
only if I change the method signature of
Code:
void handleMessage(Map aMessage);
to
Code:
void handleMessage(HashMap aMessage);
the Map receiving method gets called upon reception of the MapMessage. Why do all examples of the MessageListener adapter show the handleMessage Method with an argument of type Map instead of HashMap if it never get's called, OR what am I doing wrong?
Thanks for any help!