4.2. 주소 세트에 주소 설정 적용

AMQ Broker에서는 일치하는 주소 이름을 나타내는 와일드카드 표현식을 사용하여 address-setting 요소에 지정된 구성을 주소 집합에 적용할 수 있습니다.

다음 섹션에서는 와일드카드 식을 사용하는 방법을 설명합니다.

4.2.1. AMQ Broker 와일드카드 구문

AMQ Broker는 주소 설정에서 와일드카드를 표시하는 데 특정 구문을 사용합니다. 보안 설정 및 소비자 생성 시 와일드카드를 사용할 수도 있습니다.

  • 와일드카드 식에는 마침표(.)로 구분된 단어가 포함되어 있습니다.
  • 숫자 기호(#) 및 별표(*) 문자는 다음과 같이 특별한 의미를 가지며 단어를 대신할 수 있습니다.

    • 숫자 기호는 "모든 0개 이상의 단어 시퀀스와 일치"을 의미합니다. 표현식의 끝에 사용합니다.
    • 별표 문자는 "단일 단어와 일치"를 의미합니다. 표현식 내 어디에서나 사용할 수 있습니다.

일치는 문자에 따라 지정되지 않지만 각 구분 기호 경계에서 수행됩니다. 예를 들어 이름에 my 큐와 일치하도록 구성된 address-setting 요소는 my queue 라는 큐와 일치하지 않습니다.

address-setting 요소가 두 개 이상의 address-setting 요소가 주소와 일치하는 경우 브로커 오버레이 구성은 가장 적은 특정 일치를 기준으로 사용합니다. 리터럴 표현식은 와일드카드보다 더 구체적이며 별표(*)는 숫자 기호(#)보다 더 구체적입니다. 예를 들어 my.destinationmy.* 모두 my.destination.destination 주소와 일치합니다. 이 경우 와일드카드 표현식은 리터럴보다 작기 때문에 브로커는 먼저 my.* 에 있는 구성을 적용합니다. 다음으로 브로커는 my.destination address 설정 요소의 구성을 오버레이하여 my.*.*로 공유하는 모든 구성을 덮어씁니다. 예를 들어 다음 구성에서 my.destination 과 연결된 큐에 max-delivery-attempts3 으로 설정되고 last-value-queuefalse 로 설정됩니다.

<address-setting match="my.*">
    <max-delivery-attempts>3</max-delivery-attempts>
    <last-value-queue>true</last-value-queue>
</address-setting>
<address-setting match="my.destination">
    <last-value-queue>false</last-value-queue>
</address-setting>

다음 표의 예제에서는 와일드카드를 사용하여 주소 집합과 일치하는 방법을 보여줍니다.

예제설명

#

broker.xml 에서 사용되는 기본 address-setting 입니다. 모든 주소와 일치합니다. 이 catch-all을 계속 적용하거나 필요에 따라 각 주소 또는 주소 그룹에 대한 새 address-setting 을 추가할 수 있습니다.

news.europe.#

news.europe,news.europe.sport,news.europe.politics.fr 와 일치하지만 news.usa 또는 europe 는 일치하지 않습니다.

news.*

news.europenews.usa 와 일치하지만 news.europe.sport 는 일치하지 않습니다.

news.*.sport

news.europe.sportnews.usa.sport 와 일치하지만 news.europe.fr.sport 는 일치하지 않습니다.