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