Przekazuję obiekt Java z klienta wysyłającego JMS do mirth.Java Class wygląda następująco:
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;
}
Kod klienta JMS wygląda następująco:
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");
}
Typ złącza w Mirth to JMS Reader. Chcę otrzymywać obiekt java w źródle i przekształcić w Obiekt XML lub JavaScript. Czy jest to możliwe w Mirth? Używam Mirth w wersji 2.2.1.5861.
Odpowiedzi:
0 dla odpowiedzi № 1Mogę zasugerować jedno z możliwych rozwiązańprzetestowany pod Mirth Connect v3.0. Mam nadzieję, że powinno to również działać w wersji 2.2. Zasadniczo zmierzasz we właściwym kierunku, możliwe kroki do wykonania to:
- Po stronie JMS Sender utwórz instancję obiektu i wypełnij wymagane pola;
- Serializuj obiekt (używając na przykład org.apache.commons.lang3.SerializationUtils.serialize);
- Następnie zakoduj wynik (używając wbudowanego enkodera Mirth Base64);
- Przekaż to do konektora docelowego, który jest skonfigurowany jako JMS Sender.
Po stronie odbiornika zrób to samo w odwrotnej kolejności:
- Dekoduj otrzymany nieprzetworzony komunikat (dekoder Base64);
- Deserializuj tablicę bajtów w obiekcie (używając org.apache.commons.lang3.SerializationUtils.deserialize);
- Uzyskaj dostęp do pól obiektu.
Mam nadzieję że to pomoże.
(Ps. Wszystkie szczegółowo opisane powyżej kroki, z zrzutami ekranu i fragmentami kodu, w przypadku, gdy zarówno nadawca, jak i odbiorca są kanałami Mirth, podano w „Nieoficjalny przewodnik programisty Mirth Connect”. Oświadczenie: Jestem autorem tej książki, więc wszelkie komentarze i sugestie są mile widziane).