/ / ¿Pasando el objeto Java a la fuente de la cola JMS en Mirth? - java, jms, alegría

¿Pasando el objeto Java a la fuente de la cola JMS en Mirth? - java, jms, alegría

Estoy pasando el objeto java del cliente remitente de JMS a mirth.Java La clase se ve así:

public class OrderDetails implements Serializable{

private static final long serialVersionUID = -4617153110762983450L;
private Long mrn;
private Long orderNo;
private Long patientId;
private Long orderId;
private Long encounterId;

}

El código del cliente JMS se ve así:

public void sendMessage(final OrderDetails orderDetails) throws JMSException {
LOG.debug("Starting sendMessage of AMQMsgSenderService");
jmsTemplate.send(new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
LOG.info("SENDING: " + orderDetails);
ObjectMessage message = session.createObjectMessage( orderDetails );
return message;
}
});
LOG.debug("Ending sendMessage of AMQMsgSenderService");
}

Tipo de conector en Mirth es JMS Reader. Quiero recibir objeto java en origen y transformarse en Objeto XML o JavaScript. ¿Es posible en Mirth? Estoy usando la versión 2.2.1.5861 de Mirth.

Respuestas

0 para la respuesta № 1

Puedo sugerir una de las posibles soluciones, que esProbado bajo el Mirth Connect v3.0. Espero que también funcione bajo la v2.2. Básicamente, te estás moviendo en la dirección correcta, los pasos posibles para completar son:

  • En el lado del remitente JMS, cree una instancia del objeto y rellene los campos requeridos;
  • Serializar el objeto (utilizando org.apache.commons.lang3.SerializationUtils.serialize por ejemplo);
  • Luego codifique el resultado (usando el codificador Base64 incorporado Mirth);
  • Pase esto al conector de destino que está configurado como el remitente JMS.

En el lado del receptor, haga lo mismo en orden inverso:

  • Decodifique el mensaje crudo recibido (decodificador Base64);
  • Deserialice la matriz de bytes en el objeto (utilizando org.apache.commons.lang3.SerializationUtils.deserialize);
  • Acceder a los campos del objeto.

Espero que esto ayude.

(Sal. Todos los pasos descritos anteriormente en detalle, con capturas de pantalla y fragmentos de código, para un caso en el que tanto el remitente como el receptor son canales Mirth, aparecen en el apartado “Guía no oficial de desarrolladores de Mirth Connect". Descargo de responsabilidad: soy el autor de este libro, por lo que cualquier comentario o sugerencia es bienvenido.)