10.2. 콘텐츠 필터
10.2.1. 개요
콘텐츠 필터 패턴은 의도한 수신자에 전달하기 전에 메시지에서 불필요한 콘텐츠를 필터링해야 하는 시나리오를 설명합니다. 예를 들어 콘텐츠 필터를 사용하여 메시지에서 기밀 정보를 제거할 수 있습니다.
그림 10.2. 콘텐츠 필터 패턴

메시지를 필터링하는 일반적인 방법은 지원되는 스크립팅 언어(예: XSLT, XQuery 또는 JoSQL) 중 하나로 작성된 DSL에서 표현식을 사용하는 것입니다.
10.2.2. 콘텐츠 필터 구현
콘텐츠 필터는 본질적으로 특정 목적을 위한 메시지 처리 기술을 적용하는 것입니다. 콘텐츠 필터를 구현하려면 다음과 같은 메시지 처리 기술을 사용할 수 있습니다.
- 메시지 번역가 5.6절. “메시지#159” 참조.
- 프로세서는 35장. 프로세서 구현 을 참조하십시오.
- Cryostat 통합.
10.2.3. 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>
10.2.4. Cryostat 필터 사용
Cryostat를 사용하여 관심 있는 메시지의 일부를 필터링할 수도 있습니다.
<route> <from uri="activemq:Input"/> <setBody><xpath resultType="org.w3c.dom.Document">//foo:bar</xpath></setBody> <to uri="activemq:Output"/> </route>