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 साठी मध्यस्थाने ब्रोकरचा लक्ष्य पोर्ट परवानगी दिला पाहिजे.

संबंधित लेख