ការហៅមួយចំនួនត្រូវតែប្រើប្រូកស៊ីសាជីវកម្ម ខណៈសេវាមួយផ្សេងទៀតត្រូវបានទៅដល់ដោយផ្ទាល់។ ផ្តល់ឱ្យផ្លូវទាំងនោះនូវវត្ថុ 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);
}

សម្រាប់រោងចក្រសំណើ JDK របស់ Spring 6.2, Proxy.NO_PROXY ផ្តល់គោលនយោបាយតភ្ជាប់ផ្ទាល់ច្បាស់លាស់។ ការទុកប្រូកស៊ីរបស់រោងចក្រមិនកំណត់ ជំនួសឱ្យការអនុញ្ញាតផ្លូវកំណត់រចនាសម្ព័ន្ធ URLConnection ធម្មតា ដែលអាចជ្រើសរើសប្រូកស៊ី JVM។

ប្រើ @Qualifier នៅចំណុចចាក់បញ្ចូល ដើម្បីជ្រើសរើស bean ដែលត្រូវការ ឧទាហរណ៍ @Qualifier("directRestTemplate") RestTemplate rest។ ការកំណត់ bean ទាំងពីរតែម្នាក់ឯងមិនជ្រើសរើសរវាងពួកវាសម្រាប់ការពឹងផ្អែកមិនច្បាស់លាស់ទេ។

ឧទាហរណ៍នេះជ្រើសរើសប្រូកស៊ី HTTP ដែលគ្មានការផ្ទៀងផ្ទាត់។ ការដឹកជញ្ជូនដែលត្រូវការការផ្ទៀងផ្ទាត់ប្រូកស៊ីអាចសាងសង់ដោយឡែកជាមួយអ្នកផ្តល់ព័ត៌មានសម្គាល់ដែលគាំទ្រ ខណៈរក្សាការរៀបចំជ្រើសរើស bean ដូចគ្នា។ សម្រាប់ Spring 6 ជាមួយ Apache HttpClient 5, ដាក់កំណត់អ្នកផ្តល់នោះចំពោះចំណុចបញ្ចប់ប្រូកស៊ី។

អ្នករារាំង ឬរោងចក្រសំណើផ្សេងទៀត ដែលកម្មវិធីដំឡើងដោយចេតនា នៅតែជាកម្មសិទ្ធិរបស់ការកំណត់រចនាសម្ព័ន្ធអតិថិជនរបស់វា។ រក្សាពួកវាជាមួយផ្លូវដែលពិតជាត្រូវការពួកវា។

អត្ថបទពាក់ព័ន្ធ