د بلاک کوونکي، غیر 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 host، AMQP پورټ، حساب او د Spring د نښلونې مدیریت ترتیبات وساتئ. broker د مقصد په توګه پاتې کیږي؛ SocketFactory هغه ساکټونه جوړوي چې د SOCKS له لارې ورته رسیږي. د عامه broker پر وړاندې د غیر حساس ازموینې لپاره، چېرې چې عامه منځګړي اجازه لري، د SOCKS پراکسي لیست نوماندان وړاندې کوي؛ د runtime لخوا ملاتړ شوي SOCKS نسخې سره سمون ورکړئ او د اصلي broker host او پورټ ته لاسرسی تایید کړئ.

د Commons Net فابریکه د ورکړل شوي Proxy په کارولو سره ناښلول شوی java.net.Socket جوړوي. بیا د RabbitMQ بلاک کوونکی نښلونکی کوډ هغه ساکټ د خپل عادي نښلونې لارې له لارې نښلوي. یوازې HTTP_PROXY صادرول دا AMQP ساکټ فابریکه نه برابروي.

RabbitMQ مستندوي چې SocketFactory هک د بلاک کوونکي I/O لپاره پلي کیږي. د NIO یا بل ټرانسپورټ لپاره تنظیم شوی کلاینټ د هغه ټرانسپورټ ملاتړ شوی هک ته اړتیا لري. د AMQPS لپاره، مناسب TLS ساکټ فابریکه او د مقصد تایید وساتئ؛ د پورتنیو ساده فابریکې سره یې بدلول بشپړ TLS ترتیب نه دی.

اړوندې مقالې