首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在扩展了Spring Integrations ByteArrayLengthHeaderSerializer的类中推回消息吗?

我可以在扩展了Spring Integrations ByteArrayLengthHeaderSerializer的类中推回消息吗?
EN

Stack Overflow用户
提问于 2015-07-03 04:04:43
回答 1查看 38关注 0票数 1

我正在扩展ByteArrayLengthHeaderSerializer以返回tcp消息报头中的长度。问题是套接字上的第一条消息包含一个没有标头的8字节会话。在第一条消息之后,所有消息都将有一个带有长度的报头(以及其他一些字段)。报头的前4个字节将始终是常量值。

我想要读取前4个字节,以确定我是否有一个带有头部或原始sessionId的消息。

如果不是头,那么我将推回4个字节,并返回长度8。

如果它是一个头(前4个字节匹配常量值),那么我将读取头的其余部分,找到头中的长度字段并返回该值。

此外,此应用程序可能正在使用nio。

EN

回答 1

Stack Overflow用户

发布于 2015-07-03 04:54:24

不是直接的;几年前我编写了一个使用PushBackInputStream的自定义反序列化程序,做了类似的事情。

您应该能够编写自定义的反序列化程序;将IS包装在PushBackIS中。如果需要,可以偷看开始并推送回来,然后委托给BALHS,以便使用适当的报头解码这些消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31193708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档