За блокирајућу non-TLS AMQP везу, Spring-ов RabbitConnectionFactoryBean може предати фабрику сокета свесну SOCKS-а RabbitMQ Java клијенту.

Ако је Commons Net већ доступан, конфигуришите постојећи factory bean пре иницијализације:

var socksProxy = new java.net.Proxy(
    java.net.Proxy.Type.SOCKS,
    new java.net.InetSocketAddress("proxy.example", 1080));
rabbitFactoryBean.setSocketFactory(
    new org.apache.commons.net.DefaultSocketFactory(socksProxy));

rabbitFactoryBean је RabbitConnectionFactoryBean апликације. Задржите његов broker хост, AMQP порт, рачун и Spring подешавања управљања везама. Broker остаје одредиште; SocketFactory ствара сокете који до њега долазе кроз SOCKS. За неосетљив тест према јавном brokerу где су јавни посредници дозвољени, листа SOCKS проксија нуди кандидате; ускладите верзију SOCKS-а коју runtime подржава и потврдите приступ стварном broker хосту и порту.

Фабрика Commons Net ствара неповезани java.net.Socket користећи достављени Proxy. RabbitMQ блокирајући код везе затим повезује тај socket својим уобичајеним путем везе. Само извоз HTTP_PROXY не пружа ову AMQP фабрику сокета.

RabbitMQ документује да се SocketFactory кука примењује на блокирајући I/O. Клијент конфигурисан за NIO или други транспорт треба куку коју тај транспорт подржава. За AMQPS задржите одговарајућу TLS фабрику сокета и проверу одредишта; замена горњом обичном фабриком није потпуна TLS конфигурација.

Повезани чланци