Ο σύγχρονος πελάτης ανταλλαγής μηνυμάτων Java του Azure Service Bus χρησιμοποιεί AMQP. Ο κατασκευαστής του απαιτεί AMQP_WEB_SOCKETS όταν έχει διαμορφωθεί διακομιστής μεσολάβησης.

Με το azure-messaging-servicebus 7.18.0, κατασκευάστε τον αποστολέα ως εξής:

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();

Οι μεταβλητές του λογαριασμού πιστοποιούνται σε διακομιστή μεσολάβησης που δέχεται Basic. Η συμβολοσειρά σύνδεσης και το όνομα της ουράς εξακολουθούν να προσδιορίζουν τον πόρο Service Bus. Κρατήστε τον αποστολέα για την προβλεπόμενη διάρκεια ζωής του και κλείστε τον όταν η εφαρμογή τελειώσει μαζί του.

Χρησιμοποιήστε εδώ το com.azure.core.amqp.ProxyOptions. Η στοίβα HTTP του Azure έχει άλλη κλάση επιλογών διακομιστή μεσολάβησης με παρόμοιο όνομα· δεν είναι ο τύπος που δέχεται αυτός ο κατασκευαστής.

Αυτό διαμορφώνει τη σύνδεση μηνυμάτων. Μια εφαρμογή που χρησιμοποιεί διαπιστευτήρια ταυτότητας που δημιουργήθηκαν ανεξάρτητα μπορεί επίσης να χρειαστεί να διαμορφώσει τη μεταφορά HTTP διακριτικού αυτών των διαπιστευτηρίων.

Τα παλιά παραδείγματα του Azure SDK 0.9 αναφέρονται σε άλλη γενιά πελάτη. Μην συμπεράνετε ότι οι σταθερές διαμόρφωσης ή οι γενικές ιδιότητες HTTP τους περιγράφουν τον σύγχρονο κατασκευαστή AMQP.

Σχετικά άρθρα