Spring AMQP ত SOCKS ব্যৱহাৰ কৰি TLS-বিহীন RabbitMQ সংযোগ ব্লক কৰা
ব্লকিং TLS-বিহীন AMQP সংযোগ পথৰ বাবে RabbitConnectionFactoryBean ৰ জৰিয়তে প্ৰক্সি-সচেতন SocketFactory সংযুক্ত কৰক।
এটা ব্লকিং, TLS-বিহীন AMQP সংযোগৰ বাবে Spring ৰ RabbitConnectionFactoryBean এ RabbitMQ Java client লৈ SOCKS-সচেতন socket factory প্ৰেৰণ কৰিব পাৰে।
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 port, account আৰু Spring connection-management ছেটআপ অটুট ৰাখক। broker ই গন্তব্য হৈয়েই থাকে; SocketFactory এ SOCKS ৰ জৰিয়তে তালৈ যোৱা socket সমূহ সৃষ্টি কৰে। ৰাজহুৱা broker ৰ বিৰুদ্ধে এটা অ-সংবেদনশীল পৰীক্ষাৰ বাবে য'ত ৰাজহুৱা intermediary অনুমোদিত, SOCKS proxy তালিকা এ প্ৰাৰ্থী আগবঢ়ায়; runtime এ সমৰ্থিত SOCKS সংস্কৰণ মিলাওক আৰু প্ৰকৃত broker host আৰু port লৈ প্ৰৱেশ নিশ্চিত কৰক।
Commons Net ৰ factory এ যোগান ধৰা Proxy ব্যৱহাৰ কৰি এটা অসংযুক্ত java.net.Socket সৃষ্টি কৰে। তাৰ পিছত RabbitMQ ৰ ব্লকিং সংযোগ ক'ডে নিজৰ স্বাভাৱিক সংযোগ পথ ব্যৱহাৰ কৰি সেই socket সংযুক্ত কৰে। কেৱল HTTP_PROXY ৰপ্তানি কৰিলে এই AMQP socket factory নিমিলে।
RabbitMQ এ নথিভুক্ত কৰে যে SocketFactory hook টো ব্লকিং I/O ত প্ৰযোজ্য। NIO বা অন্য transport ৰ বাবে কনফিগাৰ কৰা client এ সেই transport ৰ সমৰ্থিত hook প্ৰয়োজন। AMQPS ৰ বাবে, উপযুক্ত TLS socket factory আৰু গন্তব্য সত্যাপন ৰাখক; ওপৰৰ সাধাৰণ factory ৰে সলনি কৰাটো সম্পূৰ্ণ TLS কনফিগাৰেচন নহয়।