It-trasport Netty ta' Qpid JMS jista' jikseb handler tal-proxy ġdid permezz ta' estensjoni tal-konnessjoni:

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 u InetSocketAddress huma tipi JDK. Il-handlers tal-proxy jappartjenu lil Netty, u l-fabbrika u l-enum tal-estensjoni lil org.apache.qpid.jms.

Għal broker aċċessibbli pubblikament fuq rotta tal-proxy pubblika permessa, il-lista tal-proxy SOCKS5 toffri kandidati għall-host u l-port; ikkonferma li n-nodu magħżul jippermetti l-host u l-port reali tal-broker. L-estensjoni tirritorna fornitur; kull sejħa tal-fornitur toħloq handler ġdid. Li tirritorna handler wieħed mutabbli maqbud għal diversi konnessjonijiet jikser dak l-arranġament tas-sjieda.

Għall-awtentikazzjoni SOCKS5, uża l-overload tal-handler li jaċċetta isem l-utent u password. Żomm il-kredenzjali tal-broker fuq il-konnessjoni JMS u żomm l-URI reali tal-broker AMQPS u l-isem TLS.

L-estensjoni tappoġġja l-handlers tal-proxy HTTP, SOCKS4 u SOCKS5 ta' Netty. Għal HTTP CONNECT, l-intermedjarju għandu jippermetti l-port fil-mira tal-broker.

Artikli relatati