Netty ਹੈਂਡਲਰਾਂ ਨਾਲ Qpid JMS ਲਈ SOCKS5 ਪ੍ਰੌਕਸੀ ਕਨਫਿਗਰ ਕਰੋ
AMQPS ਬ੍ਰੋਕਰ URI ਬਣਾਈ ਰੱਖਦਿਆਂ Qpid JMS ਕਨੈਕਸ਼ਨ ਐਕਸਟੈਂਸ਼ਨਾਂ ਰਾਹੀਂ SOCKS5 ProxyHandler ਸਪਲਾਇਰ ਜੋੜੋ।
Qpid JMS ਦਾ Netty ਟਰਾਂਸਪੋਰਟ ਕਨੈਕਸ਼ਨ ਐਕਸਟੈਂਸ਼ਨ ਰਾਹੀਂ ਨਵਾਂ ਪ੍ਰੌਕਸੀ ਹੈਂਡਲਰ ਲੈ ਸਕਦਾ ਹੈ:
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 ਦੇ ਹਨ।
ਅਨੁਮਤ ਜਨਤਕ ਪ੍ਰੌਕਸੀ ਮਾਰਗ 'ਤੇ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਬ੍ਰੋਕਰ ਲਈ SOCKS5 ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਦੇ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ; ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਚੁਣਿਆ ਨੋਡ ਬ੍ਰੋਕਰ ਦੇ ਅਸਲ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਐਕਸਟੈਂਸ਼ਨ ਸਪਲਾਇਰ ਵਾਪਸ ਕਰਦਾ ਹੈ; ਹਰ ਸਪਲਾਇਰ ਕਾਲ ਨਵਾਂ ਹੈਂਡਲਰ ਬਣਾਉਂਦੀ ਹੈ। ਕਈ ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਇੱਕ ਫੜਿਆ ਬਦਲਣਯੋਗ ਹੈਂਡਲਰ ਵਾਪਸ ਕਰਨਾ ਉਸ ਮਾਲਕੀ ਪ੍ਰਬੰਧ ਦੀ ਉਲੰਘਣਾ ਹੋਵੇਗੀ।
SOCKS5 ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਵਰਤੋਂਕਾਰ ਨਾਮ ਅਤੇ ਪਾਸਵਰਡ ਸਵੀਕਾਰ ਕਰਨ ਵਾਲਾ ਹੈਂਡਲਰ ਓਵਰਲੋਡ ਵਰਤੋ। ਬ੍ਰੋਕਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ JMS ਕਨੈਕਸ਼ਨ 'ਤੇ ਰੱਖੋ ਅਤੇ ਅਸਲ AMQPS ਬ੍ਰੋਕਰ URI ਤੇ TLS ਨਾਮ ਬਣਾਈ ਰੱਖੋ।
ਐਕਸਟੈਂਸ਼ਨ Netty ਦੇ HTTP, SOCKS4 ਅਤੇ SOCKS5 ਪ੍ਰੌਕਸੀ ਹੈਂਡਲਰਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। HTTP CONNECT ਲਈ ਵਿਚੋਲੇ ਨੂੰ ਬ੍ਰੋਕਰ ਦਾ ਟਾਰਗਿਟ ਪੋਰਟ ਮਨਜ਼ੂਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।