Receive Message 셰이프에 필터 사용
필터 식은 활성화 속성에 True 값을 지정하는 오케스트레이션 수신 셰이프에 적용할 수 있는 매개 변수(옵션)입니다. 필터 식을 지정하면 들어오는 메시지가 필터 식에 지정된 조건과 일치하는 경우에만 오케스트레이션이 활성화됩니다. 필터 식을 지정하지 않으면 오케스트레이션이 등록하는 모든 들어오는 메시지가 오케스트레이션을 활성화합니다.
필터 식을 만들려면 식 왼쪽에 있는 들어오는 메시지의 속성을 식 오른쪽에 있는 상수와 비교합니다. 둘 이상의 식에 AND 및 OR 연산자를 적용하여 복합 식을 만들 수도 있습니다. 필터 식을 비워 둘 수도 있으며, 이 경우 모든 메시지가 수락됩니다.
필터 식은 다음과 같을 수 있습니다.
InvoiceSchema.Quantity >= 1000
이 예에서는 들어오는 메시지가 오케스트레이션에 제공됩니다. 오케스트레이션에는 앞의 필터 식이 적용된 활성화 수신 셰이프(특정 메시지를 수신하면 오케스트레이션이 실행되도록 Activation 속성이 True 로 설정됨)가 있습니다. 들어오는 메시지에는 InvoiceSchema 네임스페이스에 Quantity라는 속성이 있어야 합니다. 오케스트레이션은 1000개 이상의 항목에 대한 구매서만 수락하므로 런타임 엔진이 실행되기 전에 들어오는 메시지를 검사합니다.
다음 표는 필터 식에 사용할 수 있는 연산자를 보여 줍니다.
연산자 | Description | 예제 |
---|---|---|
== | 같음 | ReqMsg(Total) == 100 |
!= | 같지 않음 | ReqMsg(Total) != 100 |
< | 다음보다 작음 | ReqMsg(Total) < 100 |
> | 보다 큼 | ReqMsg(Total) > 100 |
<= | 작거나 같음 | ReqMsg(Total) <= 100 |
>= | 크거나 같음 | ReqMsg(Total) >= 100 |
exists | exists | ReqMsg(Description) exists |
참고
필터 식의 문자열 값은 따옴표로 묶입니다(예: ReqMsg(Description) = "구매 주문 상태". 필터 식에 문자 값을 사용할 수는 없습니다.
참고
활성화 수신이 직접 바운드 포트와 연결되어 있고 필터에서 테스트된 속성에 동일한 값을 사용하여 동일한 유형의 후속 메시지를 보내면 무한 반복이 만들어집니다. 메시지가 MessageBox로 이동하고, 필터 조건과 일치하기 때문에 여기서 다시 선택됩니다. 이를 방지하려면 다른 속성에 대해 필터링하거나, 다른 유형의 메시지를 보내거나, 동일한 유형의 메시지를 보내기 전에 속성 값을 변경해야 합니다.
참고 항목
Receive 셰이프 구성 방법
오케스트레이션에서 상관 관계 사용
고유 필드 및 속성 필드 사용
오케스트레이션에서 메시지 사용