Spring AMQP හි TLS නොවන RabbitMQ සම්බන්ධතා අවහිර කිරීමට SOCKS
අවහිර කරන TLS නොවන AMQP සම්බන්ධතා මාර්ගය සඳහා RabbitConnectionFactoryBean හරහා ප්රොක්සි දන්නා SocketFactory සම්බන්ධ කරන්න.
අවහිර කරන, 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 SOCKS හරහා එයට ළඟා වන socket සාදයි. පොදු අතරමැදියන්ට අවසර ඇති පොදු broker එකක් සමඟ කරන අසංවේදී පරීක්ෂණයක් සඳහා, SOCKS ප්රොක්සි ලැයිස්තුව අපේක්ෂකයන් ලබා දෙයි; runtime ආධාරක SOCKS අනුවාදය ගළපා සැබෑ broker සත්කාරකයට සහ තොටුපළට ප්රවේශය තහවුරු කරන්න.
Commons Net හි කර්මාන්තශාලාව ලබා දී ඇති Proxy භාවිතයෙන් සම්බන්ධ නොවූ java.net.Socket එකක් සාදයි. පසුව RabbitMQ හි අවහිර කරන සම්බන්ධතා කේතය එම socket එක එහි සාමාන්ය සම්බන්ධතා මාර්ගයෙන් සම්බන්ධ කරයි. HTTP_PROXY පමණක් නිර්යාත කිරීම මෙම AMQP socket කර්මාන්තශාලාව ලබා නොදේ.
SocketFactory කොක්ක අවහිර කරන I/O සඳහා අදාළ බව RabbitMQ ලේඛනගත කරයි. NIO හෝ වෙනත් ප්රවාහනයක් සඳහා වින්යාස කර ඇති සේවාලාභියාට එම ප්රවාහනය ආධාරක කොක්ක අවශ්ය වේ. AMQPS සඳහා, සුදුසු TLS socket කර්මාන්තශාලාව සහ ගමනාන්ත සත්යාපනය රඳවා ගන්න; ඉහත සරල කර්මාන්තශාලාවෙන් එය ප්රතිස්ථාපනය කිරීම සම්පූර්ණ TLS වින්යාසයක් නොවේ.