Azure Service Bus Java: AMQP über WebSockets mit einem Proxy verwenden
Konfigurieren Sie den Java-Messagingclient von Azure Service Bus für AMQP über WebSockets mit den Proxy-Einstellungen der AMQP-Bibliothek.
Der moderne Java-Messagingclient von Azure Service Bus verwendet AMQP. Sein Builder erfordert AMQP_WEB_SOCKETS, wenn ein Proxy konfiguriert ist.
Mit azure-messaging-servicebus 7.18.0 wird der Sender so aufgebaut:
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();
Die Kontovariablen authentifizieren sich an einem Proxy, der Basic akzeptiert. Die Verbindungszeichenfolge und der Warteschlangenname kennzeichnen weiterhin die Service Bus-Ressource. Behalten Sie den erzeugten Sender für seine vorgesehene Lebensdauer und schließen Sie ihn, wenn die Anwendung fertig ist.
Verwenden Sie hier com.azure.core.amqp.ProxyOptions. Der HTTP-Stack von Azure enthält eine andere, ähnlich benannte Klasse für Proxy-Optionen; sie ist nicht der Typ, den dieser Builder akzeptiert.
Dies konfiguriert die Messagingverbindung. Eine Anwendung, die ein unabhängig erstelltes Identitätsnachweisobjekt verwendet, muss möglicherweise auch dessen HTTP-Transport für Token konfigurieren.
Alte Beispiele für Azure SDK 0.9 beziehen sich auf eine andere Clientgeneration. Leiten Sie nicht ab, dass deren Konfigurationskonstanten oder allgemeine HTTP-Eigenschaften den modernen AMQP-Builder beschreiben.