在Spring-XD中将HeaderInformation作为JSONObject传递给Header

时间:2015-12-02 22:05:11

标签: spring spring-integration spring-xd

我使用下面的代码将数据作为JSONObject作为字符串传递给Header和下一个模块/处理器但下一个模块上的数据我收到“java.io.DataInputStream@7c6a857”并且无法将其作为字符串转换回JSONObject 。

messageOut = MessageBuilder.withPayload(message-payload).copyHeaders(payload.getHeaders()).setHeader("ActualRecord", JSONObject).build();

1 个答案:

答案 0 :(得分:0)

我假设你使用RabbitMQ作为传输。

总线内使用的DefaultMessagePropertiesConverter默认将标头限制为1024字节;更大的内容在标题中保留为DataInputStreamMessagePropertiesConverter可配置为此大小,但XD当前不会公开设置以允许增加此值。

您需要从DataInputStream读取byte[]以恢复JSON。

我打开了JIRA Issue来支持LongString限制的配置。