但这是正确的。该频道用于
output
发送到消息传递代理。所以,我们刚刚序列化了您的
payload
输入JSON,就可以交付了。这就是为什么在生产中使用一切OK,因为中间有一个消息传递代理和适当的反序列化程序
input
messageCollector
这种方法正是为了断言我们要发送给代理的内容,所以添加一些额外的反序列化功能超出了此实用程序的范围。
我唯一建议你的是使用Jackson
ObjectMapper
直接在
有效载荷
收到后
inMsg
从收集器:
Message outMsg = new GenericMessage<SomeObject>(new SomeObject(1));
someChannel.send(outMsg);
GenericMessage<String> inMsg = (GenericMessage<String>) messageCollector.forChannel(someChannel).poll();
SomeObject someObject = new ObjectMapper().readValue(inMsg.getPayload(), SomeObject.class);
Assert.assertTrue(someObject instanceof SomeObject);