10.2. 内容过滤器
概述 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
内容过滤器 模式描述了在将消息传递给预期接收者前需要过滤出额外内容的情况。例如,您可以使用内容过滤器从消息中去除机密信息。
图 10.2. 内容过滤器模式
过滤消息的常见方法是使用 DSL 中的表达式,使用其中一个支持的脚本语言(如 XSLT、XQuery 或 JoSQL)。
实施内容过滤器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
内容过滤器基本上是消息处理技术的应用程序,用于特定目的。要实现内容过滤器,您可以使用以下任何消息处理技术:
- Message translator wagon-wagon 请参阅 第 5.6 节 “消息 Translator”。
- 处理器 wagon-wagon 请参见 第 35 章 实施处理器.
- Bean 集成.
XML 配置示例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
以下示例演示了如何在 XML 中配置相同的路由:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="activemq:My.Queue"/>
<to uri="xslt:classpath:com/acme/content_filter.xsl"/>
<to uri="activemq:Another.Queue"/>
</route>
</camelContext>
使用 XPath 过滤器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您还可以使用 XPath 过滤您感兴趣的消息部分:
<route>
<from uri="activemq:Input"/>
<setBody><xpath resultType="org.w3c.dom.Document">//foo:bar</xpath></setBody>
<to uri="activemq:Output"/>
</route>