在Mirth中将java对象从JMS队列传递到源?

在Mirth中将java对象从JMS队列传递到源?,java,jms,mirth,Java,Jms,Mirth,我正在将java对象从JMS发送者客户端传递到mirth。java类如下所示: public class OrderDetails implements Serializable{ private static final long serialVersionUID = -4617153110762983450L; private Long mrn; private Long orderNo; private Long patientId; privat

我正在将java对象从JMS发送者客户端传递到mirth。java类如下所示:

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;

}
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");
    }
JMS客户端代码如下所示:

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;

}
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");
    }

Mirth中的连接器类型是JMS阅读器。我希望在源代码中接收java对象,并将其转换为XML或JavaScript对象。在Mirth中可能吗?我使用的是Mirth版本2.2.1.5861。

我可以建议一种可能的解决方案,在Mirth Connect v3.0下进行测试。我希望它也能在v2.2下工作。基本上,您正朝着正确的方向前进,可能需要完成的步骤有:

  • 在JMS发送方端,创建对象的实例并填充所需字段
  • 序列化对象(例如使用org.apache.commons.lang3.SerializationUtils.Serialize)
  • 然后对结果进行编码(使用Mirth内置Base64编码器)
  • 将其传递给配置为JMS发送方的目标连接器
在接收器端,按相反顺序执行相同操作:

  • 解码接收到的原始消息(Base64解码器)
  • 将字节数组反序列化到对象中(使用org.apache.commons.lang3.SerializationUtils.Deserialize)
  • 访问对象的字段
希望这有帮助

(注:对于发送方和接收方都是欢乐频道的情况,上文详细描述的所有步骤以及屏幕截图和代码片段均在“”中给出。
免责声明:我是这本书的作者,所以欢迎任何评论或建议。)

我可能会建议一种可能的解决方案,该解决方案在Mirth Connect v3.0下进行了测试。我希望它也能在v2.2下工作。基本上,您正朝着正确的方向前进,可能需要完成的步骤有:

  • 在JMS发送方端,创建对象的实例并填充所需字段
  • 序列化对象(例如使用org.apache.commons.lang3.SerializationUtils.Serialize)
  • 然后对结果进行编码(使用Mirth内置Base64编码器)
  • 将其传递给配置为JMS发送方的目标连接器
在接收器端,按相反顺序执行相同操作:

  • 解码接收到的原始消息(Base64解码器)
  • 将字节数组反序列化到对象中(使用org.apache.commons.lang3.SerializationUtils.Deserialize)
  • 访问对象的字段
希望这有帮助

(注:对于发送方和接收方都是欢乐频道的情况,上文详细描述的所有步骤以及屏幕截图和代码片段均在“”中给出。
免责声明:我是这本书的作者,所以欢迎任何评论或建议。)

你能让这本书生效吗?我想向目标发送一条JMS ObjectMessage。您能让它工作吗?我想向目标发送一条JMS ObjectMessage。