Azure Service Bus Java: använd AMQP över WebSockets med en proxy
Konfigurera Java-meddelandeklienten för Azure Service Bus med AMQP över WebSockets och AMQP-bibliotekets proxyinställningar.
Den moderna Java-meddelandeklienten för Azure Service Bus använder AMQP. Dess byggare kräver AMQP_WEB_SOCKETS när en proxy är konfigurerad.
Med azure-messaging-servicebus 7.18.0 byggs avsändaren så här:
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();
Kontovariablerna autentiserar mot en proxy som accepterar Basic. Anslutningssträngen och könamnet identifierar fortfarande Service Bus-resursen. Behåll avsändaren under dess avsedda livstid och stäng den när programmet är klart med den.
Använd com.azure.core.amqp.ProxyOptions här. Azures HTTP-stack har en annan klass med liknande namn för proxyalternativ; det är inte den typ som den här byggaren accepterar.
Detta konfigurerar meddelandeanslutningen. Ett program som använder självständigt skapade identitetsuppgifter kan också behöva konfigurera HTTP-transporten för deras token.
Gamla exempel för Azure SDK 0.9 avser en annan klientgeneration. Anta inte att dess konfigurationskonstanter eller allmänna HTTP-egenskaper beskriver den moderna AMQP-byggaren.