ბლოკირებადი, არა-TLS AMQP კავშირისთვის Spring-ის RabbitConnectionFactoryBean-ს შეუძლია SOCKS-ის მცოდნე socket ფაბრიკა გადასცეს 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 ქმნის იმ socket-ებს, რომლებიც მას SOCKS-ის გავლით აღწევენ. საჯარო broker-ის წინააღმდეგ არასენსიტიური ტესტისთვის, სადაც საჯარო შუამავლები დაშვებულია, SOCKS პროქსების სია გთავაზობთ კანდიდატებს; შეესაბამეთ runtime-ის მიერ მხარდაჭერილ SOCKS ვერსიას და დაადასტურეთ წვდომა რეალურ broker ჰოსტსა და პორტზე.

Commons Net-ის ფაბრიკა ქმნის დაუკავშირებელ java.net.Socket-ს მოცემული Proxy-ის გამოყენებით. შემდეგ RabbitMQ-ის ბლოკირებადი კავშირის კოდი აკავშირებს ამ socket-ს ჩვეულებრივი კავშირის გზით. მხოლოდ HTTP_PROXY-ის ექსპორტი არ უზრუნველყოფს ამ AMQP socket ფაბრიკას.

RabbitMQ ადასტურებს, რომ SocketFactory-ის კაუჭი ვრცელდება ბლოკირებად I/O-ზე. NIO-ს ან სხვა ტრანსპორტისთვის კონფიგურირებულ კლიენტს სჭირდება ამ ტრანსპორტის მხარდაჭერილი კაუჭი. AMQPS-ისთვის შეინარჩუნეთ შესაბამისი TLS socket ფაბრიკა და დანიშნულების შემოწმება; მისი ზემოთ მოცემული ჩვეულებრივი ფაბრიკით ჩანაცვლება სრული TLS კონფიგურაცია არ არის.

დაკავშირებული სტატიები