Azure Service Bus의 최신 Java 메시징 클라이언트는 AMQP를 사용합니다. 프록시를 구성하면 해당 빌더에는 AMQP_WEB_SOCKETS가 필요합니다.

azure-messaging-servicebus 7.18.0에서는 발신자를 다음과 같이 구성합니다.

var address = new java.net.Proxy(
    java.net.Proxy.Type.HTTP,
    new java.net.InetSocketAddress("proxy.example", 8080));

var proxy = new com.azure.core.amqp.ProxyOptions(
    com.azure.core.amqp.ProxyAuthenticationType.BASIC,
    address, proxyUser, proxyPassword);

var sender = new com.azure.messaging.servicebus.ServiceBusClientBuilder()
    .connectionString(serviceBusConnectionString)
    .transportType(com.azure.core.amqp.AmqpTransportType.AMQP_WEB_SOCKETS)
    .proxyOptions(proxy)
    .sender()
    .queueName(queueName)
    .buildClient();

계정 변수는 Basic을 허용하는 프록시에 인증합니다. 연결 문자열과 큐 이름은 여전히 Service Bus 리소스를 식별합니다. 생성한 발신자는 의도한 수명 동안 유지하고 애플리케이션이 사용을 마치면 닫습니다.

여기서는 com.azure.core.amqp.ProxyOptions를 사용합니다. Azure의 HTTP 스택에는 이름이 비슷한 다른 프록시 옵션 클래스가 있지만, 이 빌더가 받아들이는 형식은 아닙니다.

이것은 메시징 연결을 구성합니다. 독립적으로 만든 ID 자격 증명을 사용하는 애플리케이션은 해당 자격 증명의 토큰 HTTP 전송도 구성해야 할 수 있습니다.

오래된 Azure SDK 0.9 예제는 다른 클라이언트 세대를 가리킵니다. 그 구성 상수나 일반 HTTP 속성이 최신 AMQP 빌더를 설명한다고 추론하지 마세요.

관련 글