SOCKS за блокирајуће non-TLS RabbitMQ везе у Spring AMQP
Прикључите SocketFactory свестан проксија кроз RabbitConnectionFactoryBean за путању блокирајуће non-TLS AMQP везе.
За блокирајућу 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 конфигурација.