消息转换
章节总结
📄️ Transformer
消息转换器在实现消息生产者和消息消费者之间的松耦合方面发挥着非常重要的作用。您可以在这些组件之间添加转换器,而不要求每个消息生产组件都了解下一个消费者期望的类型。通用转换器(例如将字符串转换为XML文档的转换器)也具有高度可重用性。
📄️ 内容增强器
有时,您可能需要使用目标系统提供的信息之外的更多信息来增强请求。数据丰富器模式描述了各种场景以及允许您满足此类需求的组件(丰富器)。
📄️ 提取检查
在前面的章节中,我们介绍了几种内容增强器组件,它们可以帮助你处理消息缺少数据的情况。我们还讨论了内容过滤器,它允许你从消息中删除数据项。然而,有时我们想要临时隐藏数据。例如,在分布式系统中,我们可能会收到一个包含非常大有效负载的消息。一些间歇性的消息处理步骤可能不需要访问这个有效负载,而有些可能只需要访问某些头部信息,因此在每个处理步骤中携带这个大消息有效负载可能会导致性能下降,可能产生安全风险,并且可能使调试更加困难。
📄️ 编解码器
Spring Integration 4.2版本引入了编解码器(Codec)抽象。编解码器负责将对象编码为字节数组(byte\[])以及从字节数组解码为对象。它们为Java序列化提供了一种替代方案。其中一个优势是,通常对象无需实现Serializable接口。我们提供了一个使用Kryo进行序列化的实现,但您也可以提供自己的实现,用于以下任意组件中: