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


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

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

4.2.1. AMQ Broker 와일드카드 구문

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

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

    • 숫자 기호 문자는 "0개 이상의 단어로 이루어진 모든 시퀀스와 일치"를 의미합니다. 표현식의 끝에 이 값을 사용합니다.
    • 별표 문자는 "단일한 단어 일치"를 의미합니다. 표현식 내 어디에서나 사용하십시오.

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

둘 이상의 address-setting 요소가 주소가 일치하는 경우 브로커는 기준선으로 가장 구체적인 일치의 구성을 사용하여 오버레이 구성을 사용합니다. 리터럴 표현식은 와일드카드보다 다르며 별표(*)는 숫자 기호(#)보다 더 구체적입니다. 예를 들어 my.destinationmy.* 둘 다 my.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>

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

표 4.2. 와일드카드를 사용하여 일치하는 주소
설명

#

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 는 일치하지 않습니다.

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.

프로세스

  1. &lt ;broker_instance_dir&gt; /etc/broker.xml 구성 파일을 엽니다.
  2. 리터럴 일치를 구성하기 전에 literal-match-markers 매개변수를 사용하여 리터럴 일치를 구분하는 문자를 정의합니다. 다음 예제에서는 리터럴 일치를 제한 해제하는 데 사용됩니다.

    <core>
       ...
       <literal-match-markers>()</literal-match-markers>
       ...
    </core>
  3. 리터럴 일치를 구분하는 마커를 정의한 후 address 설정 match 매개 변수에 마커를 포함하여 일치 항목을 지정합니다. 다음 예제에서는 orders.# 이라는 주소에 대해 리터럴 일치를 구성하여 해당 특정 주소에 대한 지표를 활성화합니다.

    <address-settings>
       <address-setting match="(orders.#)">
          <enable-metrics>true</enable-metrics>
       </address-setting>
    </address-settings>

4.2.3. 브로커 와일드카드 구문 구성

다음 절차에서는 와일드카드 주소에 사용되는 구문을 사용자 지정하는 방법을 보여줍니다.

프로세스

  1. &lt ;broker_instance_dir&gt; /etc/broker.xml 구성 파일을 엽니다.
  2. 아래 예제 와 같이 <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개 이상의 단어 와 일치하는 시퀀스'를 의미하고 기본값 # 을 대체합니다. 표현식 끝에 이 문자를 사용합니다.
    단일 단어
    단일 단어에 대한 값으로 제공되는 문자는 ' 단일한 단어 '와 일치하는 데 사용되며 기본값 *.를 대체합니다. 표현식 내 어느 곳에나 이 문자를 사용합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.