SOCKS פאר בלאקירנדיקע נישט-TLS RabbitMQ פארבינדונגען אין Spring AMQP
פארבינד א SocketFactory וואס קען פראקסי דורך RabbitConnectionFactoryBean פאר דעם בלאקירנדיקן נישט-TLS AMQP פארבינדונגסוועג.
פאר א בלאקירנדיקער, נישט-TLS AMQP פארבינדונג קען די RabbitConnectionFactoryBean פון Spring איבערגעבן א 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 ווערסיע וואס די לויפצייט שטיצט און באשטעטיק צוטריט צו דעם עמעטן broker-האסט און פארט.
די פאבריק פון Commons Net שאפט א נישט-פארבונדענעם java.net.Socket מיטן געגעבענעם Proxy. דערנאך פארבינדט דער בלאקירנדיקער פארבינדונגס-קאד פון RabbitMQ דעם סאקעט דורך זיין געוויינלעכן פארבינדונגסוועג. בלויז עקספארטירן HTTP_PROXY שטעלט נישט צו די AMQP סאקעט-פאבריק.
RabbitMQ דאקומענטירט אז דער SocketFactory-האק גילט פאר בלאקירנדיקער I/O. א קליענט קאנפיגורירט פאר NIO אדער אן אנדער טראנספארט דארף דעם האק וואס יענער טראנספארט שטיצט. פאר AMQPS, האלט א פאסיקע TLS סאקעט-פאבריק און ציל-פאריפיקאציע; איר אויסטשאפן מיט דער פשוטער פאבריק אויבן איז נישט קיין פולע TLS קאנפיגוראציע.