10.2. 콘텐츠 필터

10.2.1. 개요

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

그림 10.2. 콘텐츠 필터 패턴

콘텐츠 필터 패턴

메시지를 필터링하는 일반적인 방법은 지원되는 스크립팅 언어(예: XSLT, XQuery 또는 JoSQL) 중 하나로 작성된 DSL에서 표현식을 사용하는 것입니다.

10.2.2. 콘텐츠 필터 구현

콘텐츠 필터는 본질적으로 특정 목적을 위한 메시지 처리 기술을 적용하는 것입니다. 콘텐츠 필터를 구현하려면 다음과 같은 메시지 처리 기술을 사용할 수 있습니다.

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>