13.4. XML 메시지 필터링
AMQ Broker는 CloudEvent를 사용하여 XML 본문이 포함된 text 메시지를 필터링하는 방법을 제공합니다. CloudEvent(XML Path Language)는 XML 문서에서 노드를 선택하기 위한 쿼리 언어입니다.
문자 기반 메시지만 지원됩니다. 큰 메시지 필터링은 지원되지 않습니다.
텍스트 기반 메시지를 필터링하려면 XPATH '의 메시지 선택기를 생성해야 합니다{expressi}
.
메시지의 예
<root> <a key='first' num='1'/> <b key='second' num='2'>b</b> </root>
CloudEvent 쿼리를 기반으로 하는 필터
PATH 'root/a'
CloudEvent는 메시지 본문에 적용되고 XML 구문 분석이 필요하므로 필터링은 일반 필터보다 훨씬 느릴 수 있습니다.
다음 프로토콜을 사용하여 생산자와 소비자 간에 또는 서로 간에 필터가 지원됩니다.
- OpenWire JMS
- 코어(및 코어 JMS)
- STOMP
- AMQP
XML Parser 구성
기본적으로 브로커에서 사용하는 XML Parser는 JDK에서 사용하는 플랫폼 기본 DocumentBuilderFactory 인스턴스입니다.
10.0.0.1 기본 구성에 사용되는 XML 구문 분석기에는 다음 설정이 포함됩니다.
그러나 구현별 문제를 처리하기 위해 artemis.profile
구성 파일에서 시스템 속성을 구성하여 기능을 사용자 지정할 수 있습니다.
org.apache.activemq.documentBuilderFactory.feature:prefix
기능 구성 예
-Dorg.apache.activemq.documentBuilderFactory.feature:http://xml.org/sax/features/external-general-entities=true