如何为TcpNetClientConnectionFactory创建自定义反序列化器?

时间:2017-09-21 13:53:06

标签: java spring spring-integration

我在python中有一个TCP服务器,他必须将XML文档发送到这样的字符串中:

<MSG_IVEF><Header MsgRefId="" Version="0.2.5">{1,1}</Header><Body>{1,1}</Body></MSG_IVEF>

我有一个带有Spring集成的TCP客户端,用TcpNetClientConnectionFactory实现,我需要设置一个自定义反序列化器来读取TCP。

如何制作像ByteArrayStxEtxSerializer这样的自定义广告?例如,如果我想使用<MSG_IVEF></MSG_IVEF>

,那么相同

1 个答案:

答案 0 :(得分:0)

好吧,既然它是一个XML,我就不会关注ByteArrayStxEtxSerializer逻辑。因为MSG_IVEF是XML文档的根标记,所以在反序列化后,目标消息中将排除STX/ETX个字节。您绝对不希望在文档中放松根标记。

不确定客户端和服务器上有什么问题要完成使用某个标准分隔符发送XML文档,例如通过ByteArrayCrLfSerializer提供的分隔符。还有ByteArraySingleTerminatorSerializer可以使用任意字节来定制,以便在线路上分隔包。