සමහර ඇමතුම් ආයතනික ප්‍රොක්සිය භාවිත කළ යුතු අතර තවත් සේවාවක් සෘජුවම ළඟා වේ. ඉල්ලීම් එකිනෙක මතට පැමිණිය හැකි බැවින් එක් හවුල් කර්මාන්තශාලාවක් වෙනස් කිරීම වෙනුවට එම මාර්ගවලට වෙන වෙනම RestTemplate අවස්ථා ලබා දෙන්න.

පවත්නා Spring වින්‍යාස පන්තිය තුළ:

@Bean("directRestTemplate")
RestTemplate directRestTemplate() {
    var factory = new SimpleClientHttpRequestFactory();
    factory.setProxy(java.net.Proxy.NO_PROXY);
    return new RestTemplate(factory);
}

@Bean("proxyRestTemplate")
RestTemplate proxyRestTemplate() {
    var factory = new SimpleClientHttpRequestFactory();
    factory.setProxy(new java.net.Proxy(
        java.net.Proxy.Type.HTTP,
        new java.net.InetSocketAddress("proxy.example", 8080)));
    return new RestTemplate(factory);
}

Spring 6.2 හි JDK ඉල්ලීම් කර්මාන්තශාලාව සඳහා, Proxy.NO_PROXY පැහැදිලි සෘජු සම්බන්ධතා ප්‍රතිපත්තියක් ලබා දෙයි. කර්මාන්තශාලාවේ ප්‍රොක්සිය සකසා නොමැතිව තැබීමෙන් ඒ වෙනුවට සාමාන්‍ය URLConnection වින්‍යාස මාර්ගයට ඉඩ දෙන අතර එය JVM ප්‍රොක්සියක් තෝරා ගත හැකිය.

අවශ්‍ය bean තෝරා ගැනීමට එන්නත් කිරීමේ ලක්ෂ්‍යයේ @Qualifier භාවිත කරන්න, උදාහරණයක් ලෙස @Qualifier("directRestTemplate") RestTemplate rest. bean දෙක නිර්වචනය කිරීම පමණක් අපැහැදිලි යැපීමක් සඳහා ඒවා අතර තේරීමක් නොකරයි.

මෙම උදාහරණය සත්‍යාපනයක් නොමැති HTTP ප්‍රොක්සියක් තෝරයි. ප්‍රොක්සි සත්‍යාපනය අවශ්‍ය ප්‍රවාහනයක් එම bean-තේරීමේ සැකැස්මම රඳවා ගනිමින් එහි ආධාරක අක්තපත්‍ර සපයන්නා සමඟ වෙන වෙනම ගොඩනගා ගත හැකිය. Apache HttpClient 5 සමඟ Spring 6 සඳහා, එම සපයන්නා ප්‍රොක්සි අන්ත ලක්ෂ්‍යයට සීමා කරන්න.

යෙදුම විසින් හිතාමතා ස්ථාපනය කරන වෙනත් අන්තර්බාධක හෝ ඉල්ලීම් කර්මාන්තශාලා තවමත් එහිම සේවාදායක වින්‍යාසයට අයත් වේ. ඒවාට සැබවින්ම අවශ්‍ය මාර්ගය සමඟ ඒවා තබා ගන්න.

අදාළ ලිපි