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.

Ähnliche Artikel