3.2. 네트워크 연결에서 AMQP 사용

브로커는 AMQP 1.0 사양을 지원합니다. AMQP 링크는 소스와 대상(즉, 클라이언트 및 브로커) 간의 메시지의 단방향 프로토콜입니다.

절차

  1. 구성 파일 BROKER_INSTANCE_DIR/etc/broker.xml을 엽니다.
  2. 다음 예와 같이 AMQP 값이 AMQP를 포함하는 protocols 매개 변수를 포함하여 AMQP 클라이언트를 수신하도록 수락자를 추가하거나 구성합니다.
<acceptors>
  <acceptor name="amqp-acceptor">tcp://localhost:5672?protocols=AMQP</acceptor>
  ...
</acceptors>

이전 예에서 브로커는 기본 AMQP 포트인 포트 5672에서 AMQP 1.0 클라이언트를 허용합니다.

AMQP 링크에는 두 개의 엔드포인트, 즉 발신자와 수신자가 있습니다. 발신자가 메시지를 전송할 때 브로커가 내부 형식으로 변환하여 브로커의 대상으로 전달할 수 있습니다. 수신자는 브로커의 대상에 연결하고 메시지를 전달하기 전에 AMQP로 다시 변환합니다.

AMQP 링크가 동적인 경우 임시 대기열이 생성되고 원격 소스 또는 원격 대상 주소가 임시 대기열의 이름으로 설정됩니다. 링크가 동적이지 않으면 큐에 원격 대상 또는 소스의 주소가 사용됩니다. 원격 대상 또는 소스가 없는 경우 예외가 전송됩니다.If the remote target or source does not exist, an exception is sent.

링크 대상은 기본 세션을 트랜잭션으로 처리하는 데 사용되는 Coordinator일 수도 있으며 이를 롤백하거나 커밋할 수도 있습니다.A link target can also be a Coordinator, which is used to handle the underlying session as a transaction, either rolling it back or commit it.

참고

AMQP를 사용하면 세션당 여러 트랜잭션을 사용할 수 있습니다. amq p:multi-txns-per-sn. 하지만 현재 AMQ Broker 버전은 세션당 단일 트랜잭션만 지원합니다.

참고

AMQP 내의 XA(Distributed transactions)에 대한 세부 정보는 사양 1.0 버전에서 제공되지 않습니다. 환경에 분산 트랜잭션 지원이 필요한 경우 AMQ Core Protocol JMS를 사용하는 것이 좋습니다.

프로토콜 및 해당 기능에 대한 자세한 내용은 AMQP 1.0 사양을 참조하십시오.