4.2. 주소 세트에 주소 설정 적용
AMQ Broker에서는 일치하는 주소 이름을 나타내는 와일드카드 표현식을 사용하여 address-setting
요소에 지정된 구성을 주소 집합에 적용할 수 있습니다.
다음 섹션에서는 와일드카드 표현식을 사용하는 방법에 대해 설명합니다.
4.2.1. AMQ Broker 와일드카드 구문
AMQ Broker는 주소 설정에서 와일드카드를 표시하기 위해 특정 구문을 사용합니다. 와일드카드는 보안 설정 및 소비자를 생성할 때 사용할 수도 있습니다.
-
와일드카드 표현식에는 마침표(
.
)로 구분된 단어가 포함되어 있습니다. 숫자 기호(
#
)와 별표(*
) 문자도 특별한 의미가 있으며 다음과 같이 한 단어로 대체할 수 있습니다.- 숫자 기호 문자는 "0개 이상의 단어로 이루어진 모든 시퀀스와 일치"를 의미합니다. 표현식의 끝에 이 값을 사용합니다.
- 별표 문자는 "단일한 단어 일치"를 의미합니다. 표현식 내 어디에서나 사용하십시오.
일치는 문자별 문자가 아니라 각 구분 기호 경계에서 수행됩니다. 예를 들어 이름에 있는 큐와 일치하도록 구성된 address-setting
요소는
라는 큐와 일치하지 않습니다.
my
queue
둘 이상의 address-setting
요소가 주소가 일치하는 경우 브로커는 기준선으로 가장 구체적인 일치의 구성을 사용하여 오버레이 구성을 사용합니다. 리터럴 표현식은 와일드카드보다 다르며 별표(*
)는 숫자 기호(#
)보다 더 구체적입니다. 예를 들어 my.destination
과 my.*
둘 다 my.destination
주소와 일치합니다. 이 경우 브로커는 와일드카드 표현식이 리터럴보다 작기 때문에 먼저 my.*
아래의 구성을 적용합니다. 다음으로 브로커는 my.destination
address 설정 요소의 구성을 오버레이하여 my.*
와 공유된 모든 구성을 덮어씁니다. 예를 들어 다음 구성에서 my.destination
과 연결된 큐에는 max-delivery-attempts
가 3
으로 설정되고 last-value-queue
가 false
로 설정됩니다.
<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>
다음 표의 예제에서는 와일드카드를 사용하여 주소 집합과 일치하는 방법을 보여줍니다.
예 | 설명 |
---|---|
|
|
|
|
|
|
|
|
4.2.2. 리터럴 일치 구성
리터럴 일치에서 와일드카드 문자는 와일드카드가 포함된 주소와 일치하도록 리터럴 문자로 처리됩니다. 예를 들어 리터럴 일치의 해시(# ) 문자는 orders.retail 또는 orders.wholesale과 같은 일치하는 주소 없이 orders.#과 일치할 수 있습니다.For example, the hash (# ) character in a literal match can match an address of orders.#
without matching addresses such as orders.retail
or orders.wholesale
.
프로세스
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. 리터럴 일치를 구성하기 전에
literal-match-markers
매개변수를 사용하여 리터럴 일치를 구분하는 문자를 정의합니다. 다음 예제에서는 리터럴 일치를 제한 해제하는 데 사용됩니다.<core> ... <literal-match-markers>()</literal-match-markers> ... </core>
리터럴 일치를 구분하는 마커를 정의한 후
address 설정 match
매개 변수에 마커를 포함하여 일치 항목을 지정합니다. 다음 예제에서는orders.#
이라는 주소에 대해 리터럴 일치를 구성하여 해당 특정 주소에 대한 지표를 활성화합니다.<address-settings> <address-setting match="(orders.#)"> <enable-metrics>true</enable-metrics> </address-setting> </address-settings>
4.2.3. 브로커 와일드카드 구문 구성
다음 절차에서는 와일드카드 주소에 사용되는 구문을 사용자 지정하는 방법을 보여줍니다.
프로세스
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. 아래 예제
와 같이 <wildcard-addresses
> 섹션을 구성에 추가합니다.<configuration> <core> ... <wildcard-addresses> // <enabled>true</enabled> // <delimiter>,</delimiter> // <any-words>@</any-words> // <single-word>$</single-word> </wildcard-addresses> ... </core> </configuration>
enabled
-
true
로 설정하면 브로커에 사용자 지정 설정을 사용하도록 지시합니다. 구분 기호
-
기본값 대신
구분 기호
로 사용할 사용자 지정 문자를 제공합니다.
any-words
-
임의의 단어에 대한 값으로 제공되는 문자는 '0개 이상의 단어
와 일치하는 시퀀스'를 의미하고 기본값#
을 대체합니다. 표현식 끝에 이 문자를 사용합니다. 단일 단어
-
단일 단어에 대한 값으로 제공되는 문자는 '
단일한 단어
'와 일치하는 데 사용되며 기본값*
.를 대체합니다. 표현식 내 어느 곳에나 이 문자를 사용합니다.