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