توسىدىغان، 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 host، AMQP port، ھېسابات ۋە Spring ئۇلىنىش باشقۇرۇش تەڭشىكىنى ساقلاڭ. broker نىشان بولۇپ قالىدۇ؛ SocketFactory SOCKS ئارقىلىق ئۇنىڭغا يېتىدىغان socket لارنى ياسايدۇ. ئاممىۋى ۋاسىتىچىلەرگە رۇخسەت قىلىنغان ئاممىۋى broker غا قارىتىلغان سەزگۈر ئەمەس سىناق ئۈچۈن، SOCKS پروكسى تىزىملىكى كاندىداتلارنى تەمىنلەيدۇ؛ runtime قوللايدىغان SOCKS نەشرى بىلەن ماسلاشتۇرۇڭ ۋە ھەقىقىي broker host ۋە port قا كىرىشنى جەزملەشتۈرۈڭ.

Commons Net زاۋۇتى بېرىلگەن Proxy نى ئىشلىتىپ ئۇلانمىغان java.net.Socket ياسايدۇ. ئاندىن RabbitMQ نىڭ توسىدىغان ئۇلىنىش كودى بۇ socket نى ئادەتتىكى ئۇلىنىش يولى بىلەن ئۇلايدۇ. پەقەت HTTP_PROXY نى چىقىرىش بۇ AMQP socket زاۋۇتىنى تەمىنلەلمەيدۇ.

RabbitMQ SocketFactory ئىلمىكىنىڭ توسىدىغان I/O غا قوللىنىلىدىغانلىقىنى خاتىرىلەيدۇ. NIO ياكى باشقا توشۇش ئۈچۈن سەپلەنگەن خېرىدار ئۇ توشۇش قوللايدىغان ئىلمەكنى تەلەپ قىلىدۇ. AMQPS ئۈچۈن مۇۋاپىق TLS socket زاۋۇتى ۋە نىشان دەلىللەشنى ساقلاڭ؛ ئۇنى يۇقىرىدىكى ئاددىي زاۋۇت بىلەن ئالماشتۇرۇش تولۇق TLS سەپلىمىسى ئەمەس.

مۇناسىۋەتلىك ماقالىلەر