4.13. 배달되지 않은 메시지를 dead letter 주소로 이동
클라이언트에 메시지 전달이 실패한 경우 브로커가 메시지 전달을 지속적으로 시도하는 것을 원하지 않을 수 있습니다. 무한 전달 시도를 방지하기 위해 dead letter address 및 하나 이상의 dead letter 큐 를 정의할 수 있습니다. 지정된 수의 전달 시도 후 브로커는 배달되지 않은 메시지를 원래 대기열에서 제거하고 구성된 dead letter 주소로 메시지를 보냅니다. 시스템 관리자는 나중에 배달되지 않은 메시지를 배달되지 않은 대기열에서 사용하여 메시지를 검사할 수 있습니다.
지정된 큐에 대한 dead letter 주소를 구성하지 않으면 브로커는 지정된 전송 시도 횟수 후 큐에서 배달되지 않은 메시지를 영구적으로 제거합니다.
dead letter 큐에서 사용하는 배달되지 않은 메시지에는 다음과 같은 속성이 있습니다.
_AMQ_ORIG_ADDRESS
- 메시지의 원래 주소를 지정하는 string 속성입니다.String property that specifies the original address of the message.
_AMQ_ORIG_QUEUE
- 메시지의 원래 큐를 지정하는 string 속성입니다.String property that specifies the original queue of the message
4.13.1. dead letter 주소 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 dead letter 주소와 연결된 배달 못 한 큐를 구성하는 방법을 보여줍니다.
절차
-
<
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. 대기열 이름과 일치하는 <
address-setting
> 요소에서 dead letter 주소 이름 및 최대 전달 시도 수에 대한 값을 설정합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow match
-
브로커가 이
address-setting
섹션의 구성을 적용하는 주소입니다. <address-setting
> 요소의match
특성에 와일드카드 식을 지정할 수 있습니다. 와일드카드 표현식을 사용하는 것은 <address-setting
> 요소에 구성된 dead letter 설정을 일치하는 주소 집합 과 연결하려는 경우 유용합니다. dead-letter-address
- 배달 못 한 주소의 이름입니다. 이 예에서 브로커는 배달되지 않은 메시지를 대기열 exampleQueue 에서 dead letter address인 DLA 로 이동합니다.
max-delivery-attempts
-
배달되지 않은 메시지를 구성된 배달 주소로 이동하기 전에 브로커가 수행한 최대 전송 시도 횟수입니다. 이 예에서 브로커는 전달되지 않은 메시지를 세 가지 실패한 전달 시도 후 배달되지 않은 주소로 이동합니다. 기본값은
10
입니다. 브로커가 무한한 수의 재전송 시도 횟수를 제한하도록 하려면-1
값을 지정합니다.
addresses
섹션에서 dead letteraddress
인 DLA 에 대한 address 요소를 추가합니다. dead letter 큐를 dead letter 주소와 연결하려면큐
의 이름 값을 지정합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이전 구성에서 DLQ 라는 dead letter 큐와 dead letter 주소인 DLA 를 연결합니다.
추가 리소스
- 주소 설정에서 와일드카드를 사용하는 방법에 대한 자세한 내용은 4.2절. “주소 세트에 주소 설정 적용” 을 참조하십시오.