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 주소 이름 및 최대 전달 시도 수에 대한 값을 설정합니다. 예를 들면 다음과 같습니다.<configuration ...> <core ...> ... <address-settings> ... <address-setting match="exampleQueue"> <dead-letter-address>DLA</dead-letter-address> <max-delivery-attempts>3</max-delivery-attempts> </address-setting> ... <address-settings> <configuration ...>
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 주소와 연결하려면큐
의 이름 값을 지정합니다. 예를 들면 다음과 같습니다.<configuration ...> <core ...> ... <addresses> <address name="DLA"> <anycast> <queue name="DLQ" /> </anycast> </address> ... </addresses> </core> </configuration>
이전 구성에서 DLQ 라는 dead letter 큐와 dead letter 주소인 DLA 를 연결합니다.
추가 리소스
- 주소 설정에서 와일드카드를 사용하는 방법에 대한 자세한 내용은 4.2절. “주소 세트에 주소 설정 적용” 을 참조하십시오.