Pengangkutan Netty Qpid JMS boleh memperoleh pengendali proksi baharu melalui sambungan lanjutan:

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 dan InetSocketAddress ialah jenis JDK. Pengendali proksi milik Netty, manakala kilang dan enum sambungan milik org.apache.qpid.jms.

Untuk broker yang boleh dicapai secara awam pada laluan proksi awam yang dibenarkan, senarai proksi SOCKS5 menawarkan calon hos dan port; pastikan nod yang dipilih membenarkan hos dan port sebenar broker. Sambungan lanjutan mengembalikan pembekal; setiap panggilan pembekal mencipta pengendali baharu. Mengembalikan satu pengendali boleh ubah yang ditangkap untuk beberapa sambungan akan melanggar susunan pemilikan itu.

Untuk pengesahan SOCKS5, gunakan beban lebih pengendali yang menerima nama pengguna dan kata laluan. Simpan kelayakan broker pada sambungan JMS dan kekalkan URI broker AMQPS sebenar serta nama TLS.

Sambungan lanjutan menyokong pengendali proksi HTTP, SOCKS4 dan SOCKS5 Netty. Untuk HTTP CONNECT, perantara mesti membenarkan port sasaran broker.

Artikel berkaitan