Модерният Java клиент за съобщения на Azure Service Bus използва 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 тук. HTTP стекът на Azure има друг клас с подобно име за опции на прокси; той не е типът, който този конструктор приема.

Това конфигурира връзката за съобщения. Приложение, което използва самостоятелно създадени идентификационни данни, може също да трябва да конфигурира HTTP транспорта за токени на тези данни.

Старите примери за Azure SDK 0.9 се отнасят до друго поколение клиенти. Не заключавайте, че неговите константи за конфигурация или общи HTTP свойства описват модерния AMQP конструктор.

Подобни статии