Azure Service Bus Java: AMQP через WebSockets с прокси
Настройте Java-клиент обмена сообщениями Azure Service Bus на AMQP через WebSockets с параметрами прокси библиотеки AMQP.
Современный 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.