我可以强制使用Camel路由应用程序来生成JMS BytesMessages但是有文本内容吗?

时间:2016-07-07 22:29:43

标签: java apache-camel jms

我正在使用一个Camel应用程序,该应用程序从一个JMS队列获取消息并将它们写入另一个JMS队列。

输出消息是JMS TextMessages,这对于此特定JMS代理并不是首选。我已经确定了这个产品,对于下游(非JMS)消费者,我们希望Camel生成javax.jms.BytesMessages,但是通过Message.writeUTF(String)将其数据填充为字符串。

我发现Spring JMSConfiguration确实允许我设置一个属性jmsMessageType="Bytes",它让我在那里中途,但是有没有其他配置让它通过writeUTF写我的String有效负载?目前,它似乎将字符串编码为字节数组,然后通过BytesMessage.writeBytes(byte[])进行设置。

1 个答案:

答案 0 :(得分:0)

请参阅文档如何使用自定义消息转换器 http://camel.apache.org/jms

然后您可以自己映射到JMS消息并使用writeUTF方法