Η μεταφορά Netty του Qpid JMS μπορεί να αποκτήσει νέο χειριστή διαμεσολαβητή μέσω μιας επέκτασης σύνδεσης:

Supplier<ProxyHandler> handlers = () ->
    new Socks5ProxyHandler(
        new InetSocketAddress("proxy.example", 1080));

JmsConnectionFactory factory = new JmsConnectionFactory(
    "amqps://broker.example:5671");
factory.setExtension(
    JmsConnectionExtensions.PROXY_HANDLER_SUPPLIER.toString(),
    (connection, remote) -> handlers);

Τα Supplier και InetSocketAddress είναι τύποι του JDK. Οι χειριστές διαμεσολαβητή ανήκουν στο Netty, και το εργοστάσιο και η απαρίθμηση επέκτασης στο org.apache.qpid.jms.

Για έναν broker προσβάσιμο δημόσια σε επιτρεπόμενη δημόσια διαδρομή διαμεσολαβητή, η λίστα διαμεσολαβητών SOCKS5 προσφέρει υποψήφιους κεντρικούς υπολογιστές και θύρες· επιβεβαιώστε ότι ο επιλεγμένος κόμβος επιτρέπει τον πραγματικό κεντρικό υπολογιστή και τη θύρα του broker. Η επέκταση επιστρέφει έναν πάροχο· κάθε κλήση του παρόχου δημιουργεί νέο χειριστή. Η επιστροφή ενός καταγεγραμμένου μεταβλητού χειριστή για πολλές συνδέσεις θα παραβίαζε αυτή τη διάταξη ιδιοκτησίας.

Για έλεγχο ταυτότητας SOCKS5, χρησιμοποιήστε την υπερφόρτωση χειριστή που δέχεται όνομα χρήστη και κωδικό πρόσβασης. Κρατήστε τα διαπιστευτήρια του broker στη σύνδεση JMS και διατηρήστε το πραγματικό URI του broker AMQPS και το όνομα TLS.

Η επέκταση υποστηρίζει τους χειριστές διαμεσολαβητή HTTP, SOCKS4 και SOCKS5 του Netty. Για HTTP CONNECT, ο ενδιάμεσος πρέπει να επιτρέπει τη θύρα προορισμού του broker.

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