메시지 선택자를 사용하면 특정 토픽이나 큐에서 수신하는 메시지에 대해 JMS 이용자의 선택 범위가 넓어질 수 있습니다.
메시지 선택자는 조건식에서 메시지 등록 정보 및 헤더를 기준으로 사용합니다. 이 표현식은 boolean 논리를 사용하여 JMSInput 노드와 같은 클라이언트에 전달해야 하는 메시지를 선언합니다.
다음 표는 메시지 선택자의 구조를 보여줍니다. 메시지 선택자는 ID(예: JMSPriority 헤더 또는 응용프로그램 제어 등록 정보 myProperty1)로 구성됩니다. 선택자 문자열은 연산자와 리터럴을 차례로 지정해야 합니다.
요소 | 올바른 값 |
ID |
|
연산자 | AND, OR, LIKE, BETWEEN, =, <>, <, >, <=, >=, IS NULL, IS NOT NULL |
리터럴 |
|
JMSInput 노드는 자유 형식 문자열 PropertySelector를 제공하여 응용프로그램 등록 정보를 필터하거나 포함하는 선택자를 지정합니다. 노드는 ID가 암시적이고 노드에서 생성하는 특정 헤더 등록 정보에 해당되는 속성도 가지고 있습니다. 헤더 선택자의 경우, 문자열의 선택자 및 리터럴 부분을 지정해야 합니다.
둘 이상의 선택자를 지정할 경우, 노드는 개별적인 선택자 문자열을 AND 연산자로 병합하는 복합 선택자 문자열을 생성하며 각 선택자 문자열 부분은 괄호로 묶입니다.
선택자 속성 | 설명 |
PropertySelector | OrderValue > 100.00 이 문자열은 표시된 대로 직접 사용됩니다. |
TimeStamp | BETWEEN 1057576423231 AND 10575788993265 두 개의 Java 시간(여기서 Java 시간은 1970년 1월 1일 이후의 밀리세컨드임) 사이에 있는 메시지만 JMSInput 노드로 전달됩니다. 이 경우 생성된 문자열 앞에는 ID JMSTimestamp가 붙습니다. |
전달 모드 | PERSISTENT 이는 송신자가 PERSISTENT로 표시한 메시지만 JMSInput 노드로 전달해야 한다는 의미입니다. 이 경우 생성된 문자열 앞에는 ID JMSDeliveryMode가 붙습니다. |
Priority | >= 5 AND <= 8 송신자가 5, 6, 7 또는 8 우선순위를 가지고 있는 것으로 표시한 메시지만 JMSInput 노드로 전달해야 한다는 의미입니다. 이 경우 생성된 문자열 앞에는 ID JMSPriority가 붙습니다. |
메시지 ID | > WMBRK123456 메시지 ID가 지정된 값보다 큰 메시지를 리턴합니다. 이 경우 생성된 문자열 앞에는 ID JMSMessageID가 붙습니다. |
다시 전달됨 | FALSE 다시 전달되지 않은 메시지만 노드가 수신해야 함을 의미합니다. 이 경우 생성된 문자열 앞에는 ID JMSRedlivered가 붙습니다. |
상관 ID | = WMBRKABCDEFG 상관 ID가 값 WMBRKBABCDEFG와 같은 메시지를 리턴합니다. 이 경우 생성된 문자열 앞에는 ID JMSCorrelationID가 붙습니다. |