/** * Convenience method to dispatch to converters for individual message types. */ private Object convertToObject(Message message, JavaType targetJavaType) throws JMSException, IOException { if (message instanceof TextMessage) { return convertFromTextMessage((TextMessage) message, targetJavaType); } else if (message instanceof BytesMessage) { return convertFromBytesMessage((BytesMessage) message, targetJavaType); } else { return convertFromMessage(message, targetJavaType); } }
public Message toMessage(Object object, Session session) throws JMSException, MessageConversionException { Message message; try { switch (this.targetType) { case TEXT: message = mapToTextMessage(object, session, this.objectMapper); break; case BYTES: message = mapToBytesMessage(object, session, this.objectMapper); break; default: message = mapToMessage(object, session, this.objectMapper, this.targetType); } } catch (IOException ex) { throw new MessageConversionException("Could not map JSON object [" + object + "]", ex); } setTypeIdOnMessage(object, message); return message; }
public Object fromMessage(Message message) throws JMSException, MessageConversionException { try { JavaType targetJavaType = getJavaTypeForMessage(message); return convertToObject(message, targetJavaType); } catch (IOException ex) { throw new MessageConversionException("Failed to convert JSON message content", ex); } }