Azure Service Bus Java: brug AMQP over WebSockets med en proxy
Konfigurer Azure Service Bus' Java-beskedklient med AMQP over WebSockets og AMQP-bibliotekets proxyindstillinger.
Den moderne Java-beskedklient til Azure Service Bus bruger AMQP. Dens builder kræver AMQP_WEB_SOCKETS, når der er konfigureret en proxy.
Med azure-messaging-servicebus 7.18.0 opbygges afsenderen sådan:
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();
Kontoens variabler godkendes over for en proxy, der accepterer Basic. Forbindelsesstrengen og kønavnet identificerer stadig Service Bus-ressourcen. Behold afsenderen i dens tilsigtede levetid, og luk den, når programmet er færdigt med den.
Brug com.azure.core.amqp.ProxyOptions her. Azures HTTP-stak har en anden klasse med et lignende navn til proxyindstillinger; det er ikke den type, som denne builder accepterer.
Dette konfigurerer beskedforbindelsen. Et program, der bruger en selvstændigt oprettet identitetslegitimation, kan også få brug for at konfigurere den legitimations HTTP-transport til tokens.
Gamle eksempler til Azure SDK 0.9 henviser til en anden klientgeneration. Antag ikke, at dens konfigurationskonstanter eller generelle HTTP-egenskaber beskriver den moderne AMQP-builder.