Foar in blokkearjende, non-TLS AMQP-ferbining kin de RabbitConnectionFactoryBean fan Spring in SOCKS-bewuste socketfabryk trochjaan oan de RabbitMQ Java-klient.

As Commons Net al beskikber is, konfigurearje dan de besteande factory bean foar initialisaasje:

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 is de RabbitConnectionFactoryBean fan 'e applikaasje. Behâld syn broker-host, AMQP-poarte, akkount en de Spring-ynstelling foar ferbiningsbehear. De broker bliuwt de bestimming; de SocketFactory makket de sockets dy't him fia SOCKS berikke. Foar in net-gefoelige test tsjin in iepenbiere broker wêr't iepenbiere tuskenpersoanen tastien binne, biedt de SOCKS-proxylist kandidaten; pas de SOCKS-ferzje oan dy't de runtime stipet en befestigje tagong ta de eigentlike broker-host en -poarte.

De fabryk fan Commons Net makket in net-ferbûne java.net.Socket mei de levere Proxy. Dêrnei ferbynt de blokkearjende ferbiningskoade fan RabbitMQ dy socket fia syn gewoane ferbiningspaad. Allinnich HTTP_PROXY eksportearje leveret dit AMQP-socketfabryk net.

RabbitMQ dokumintearret dat de SocketFactory-heak jildt foar blokkearjende I/O. In klient dy't konfigurearre is foar NIO of in oare transport hat de troch dat transport stipe heak nedich. Foar AMQPS, behâld in geskikt TLS-socketfabryk en bestimmingsferifikaasje; it ferfangen troch it gewoane fabryk hjirboppe is gjin folsleine TLS-konfiguraasje.

Relatearre artikelen