Azure Service Bus Java : utiliser AMQP sur WebSockets avec un proxy
Configurez le client de messagerie Java d'Azure Service Bus avec AMQP sur WebSockets et les réglages de proxy de la bibliothèque AMQP.
Le client de messagerie Java moderne d'Azure Service Bus utilise AMQP. Son constructeur exige AMQP_WEB_SOCKETS lorsqu'un proxy est configuré.
Avec azure-messaging-servicebus 7.18.0, construisez l'expéditeur comme suit :
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();
Les variables du compte s'authentifient auprès d'un proxy acceptant Basic. La chaîne de connexion et le nom de file identifient toujours la ressource Service Bus. Conservez l'expéditeur pendant sa durée de vie prévue et fermez-le lorsque l'application a terminé.
Utilisez ici com.azure.core.amqp.ProxyOptions. La pile HTTP d'Azure possède une autre classe d'options de proxy au nom similaire ; ce n'est pas le type accepté par ce constructeur.
Ceci configure la connexion de messagerie. Une application qui utilise des informations d'identification d'identité créées indépendamment peut aussi devoir configurer le transport HTTP du jeton de ces informations.
Les anciens exemples d'Azure SDK 0.9 concernent une autre génération de client. Ne déduisez pas que ses constantes de configuration ou ses propriétés HTTP générales décrivent le constructeur AMQP moderne.