Il moderno client di messaggistica Java di Azure Service Bus usa AMQP. Il suo builder richiede AMQP_WEB_SOCKETS quando è configurato un proxy.

Con azure-messaging-servicebus 7.18.0, costruite il mittente così:

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();

Le variabili dell'account si autenticano presso un proxy che accetta Basic. La stringa di connessione e il nome della coda identificano ancora la risorsa Service Bus. Conservate il mittente per la sua durata prevista e chiudetelo quando l'applicazione ha finito.

Qui usate com.azure.core.amqp.ProxyOptions. Lo stack HTTP di Azure ha un'altra classe di opzioni proxy con un nome simile; non è il tipo accettato da questo builder.

Questo configura la connessione di messaggistica. Un'applicazione che usa credenziali di identità create separatamente potrebbe anche dover configurare il trasporto HTTP del token di tali credenziali.

I vecchi esempi di Azure SDK 0.9 si riferiscono a un'altra generazione di client. Non deducete che le sue costanti di configurazione o le proprietà HTTP generali descrivano il builder AMQP moderno.

Articoli correlati