JMS 메시지 선택자

메시지 선택자를 사용하면 특정 토픽이나 큐에서 수신하는 메시지에 대해 JMS 이용자의 선택 범위가 넓어질 수 있습니다.

메시지 선택자는 조건식에서 메시지 등록 정보 및 헤더를 기준으로 사용합니다. 이 표현식은 boolean 논리를 사용하여 JMSInput 노드와 같은 클라이언트에 전달해야 하는 메시지를 선언합니다.

다음 표는 메시지 선택자의 구조를 보여줍니다. 메시지 선택자는 ID(예: JMSPriority 헤더 또는 응용프로그램 제어 등록 정보 myProperty1)로 구성됩니다. 선택자 문자열은 연산자와 리터럴을 차례로 지정해야 합니다.

요소 올바른 값
ID
  • 등록 정보 또는 헤더 필드 참조(예: JMSPriority, myProperty1)
  • 사용 불가능한 값: NULL, TRUE, FALSE, NOT, AND, OR, BETWEEN, LIKE, IN, IS
연산자

AND, OR, LIKE, BETWEEN, =, <>, <, >, <=, >=, IS NULL, IS NOT NULL

리터럴
  • 두 개의 boolean 리터럴인 TRUE 및 FALSE
  • 소수점이 없는 정확한 숫자 리터럴(예: +25, -399, 40)
  • 근사치 숫자 리터럴. 이 리터럴에는 과학적인 표기법이나 소수점을 사용할 수 있습니다(예: -21.4E4, 5E2, +34.4928).

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가 붙습니다.

관련 개념
JMS 트랜잭션성
관련 참조
응용프로그램 통신 모델의 JMS 등록 정보
JMS 메시지 도메인 등록 정보
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac24876_