15장. 메시지 필터링
AMQ Broker는 SQL 92 표현식 구문의 하위 집합을 기반으로 강력한 필터 언어를 제공합니다. 필터 언어는 JMS 선택기에 사용된 것과 동일한 구문을 사용하지만 사전 정의된 식별자는 다릅니다. 아래 표에는 AMQ Broker 메시지에 적용되는 식별자가 나열되어 있습니다.
식별자 | 속성 |
---|---|
AMQPriority |
메시지의 우선 순위입니다. 메시지 우선순위는 |
AMQExpiration | 메시지의 만료 시간입니다. 값은 긴 정수입니다.The value is a long integer. |
AMQDurable |
메시지가 내구성인지 아니면 내구성이 있는지 여부입니다. 값은 문자열입니다. 유효한 값은 |
AMQTimestamp | 메시지를 생성할 때의 타임 스탬프입니다. 값은 긴 정수입니다.The value is a long integer. |
AMQSize |
메시지의 |
코어 필터 식에 사용되는 다른 식별자는 메시지의 속성으로 간주됩니다. JMS 메시지의 선택기 구문에 대한 문서는 Java EE API 를 참조하십시오.
15.1. 필터를 사용하도록 대기열 구성
BROKER_INSTANCE_DIR/etc/broker.xml
에서 구성한 큐에 필터를 추가할 수 있습니다. 필터 식과 일치하는 메시지만 큐에 들어갑니다.
절차
필터
요소를 원하는큐에
추가하고 요소 값으로 적용하려는 필터를 포함합니다. 아래 예제에서는NEWS='tech 필터가
대기열technologyQueue
에 추가됩니다.<configuration> <core> ... <addresses> <address name="myQueue"> <anycast> <queue name="myQueue"> <filter string="NEWS='technology'"/> </queue> </anycast> </address> </addresses> </core> </configuration>