С JsmTemplate
весной (2.5, 3.1), если вы хотите отправить от Map
до jmsTemplate.convertAndSend()
, где Карта содержит непримитивный объект, вы можете разыграть Карту Serializable
и звоните send(MessageCreator)
. Сюда:
//...some previous code here
final Map myMap = createYourSerializableMapHere();
jmsTemplate.send(new MessageCreator(){
@Override
public Message createMessage(Session session) throws JMSException {
ObjectMessage objectMessage = session.createObjectMessage((Serializable) myMap);
return objectMessage;
}
});
Таким образом jmsTemplate будет работать с картой как Serializable и отправит ObjectMessage
по проводам.
Обратите внимание, что сообщения, принимающие слушателя, должны будут прочитать ObjectMessage и затем снова преобразовать его в Map. Помните, что у вас должны быть соответствующие классы с обеих сторон провода, и, конечно, объекты внутри карты должны быть сериализуемыми!