Azure Service Bus Java: bruk AMQP over WebSockets med en proxy
Konfigurer Java-meldingsklienten for Azure Service Bus med AMQP over WebSockets og proxyinnstillingene fra AMQP-biblioteket.
Den moderne Java-meldingsklienten for Azure Service Bus bruker AMQP. Byggeren krever AMQP_WEB_SOCKETS når en proxy er konfigurert.
Med azure-messaging-servicebus 7.18.0 bygges avsenderen slik:
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();
Kontovariablene autentiseres mot en proxy som godtar Basic. Tilkoblingsstrengen og kønavnet identifiserer fortsatt Service Bus-ressursen. Behold avsenderen gjennom den tiltenkte levetiden og lukk den når programmet er ferdig med den.
Bruk com.azure.core.amqp.ProxyOptions her. HTTP-stakken til Azure har en annen klasse med lignende navn for proxyvalg; det er ikke typen denne byggeren godtar.
Dette konfigurerer meldingsforbindelsen. Et program som bruker selvstendig opprettede identitetsopplysninger, kan også måtte konfigurere HTTP-transporten for tokenet til disse opplysningene.
Gamle eksempler for Azure SDK 0.9 viser til en annen klientgenerasjon. Ikke anta at konfigurasjonskonstantene eller de generelle HTTP-egenskapene beskriver den moderne AMQP-byggeren.