Azure Service Bus Java: usar AMQP sobre WebSockets con un proxy
Configure el cliente de mensajería Java de Azure Service Bus con AMQP sobre WebSockets y los ajustes de proxy de la biblioteca AMQP.
El cliente de mensajería Java moderno de Azure Service Bus usa AMQP. Su generador requiere AMQP_WEB_SOCKETS cuando se configura un proxy.
Con azure-messaging-servicebus 7.18.0, construya el remitente así:
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();
Las variables de la cuenta se autentican con un proxy que acepta Basic. La cadena de conexión y el nombre de la cola siguen identificando el recurso de Service Bus. Conserve el remitente durante su vida útil prevista y ciérrelo cuando la aplicación termine con él.
Use com.azure.core.amqp.ProxyOptions aquí. La pila HTTP de Azure tiene otra clase de opciones de proxy con un nombre similar; no es el tipo que acepta este generador.
Esto configura la conexión de mensajería. Una aplicación que use credenciales de identidad creadas de forma independiente también podría necesitar configurar el transporte HTTP del token de esas credenciales.
Los ejemplos antiguos de Azure SDK 0.9 se refieren a otra generación de cliente. No deduzca que sus constantes de configuración o propiedades HTTP generales describen el generador AMQP moderno.