አንዳንድ ጥሪዎች የድርጅቱን ፕሮክሲ መጠቀም አለባቸው፣ ሌላው አገልግሎት ግን በቀጥታ ይደርሳል። ጥያቄዎች ሊደራረቡ ስለሚችሉ አንድ የተጋራ ፋብሪካን ከመቀየር ይልቅ ለእነዚያ መንገዶች የተለያዩ 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 ፕሮክሲ ሊመርጥ ይችላል።

በማስገቢያ ቦታው ላይ @Qualifier ተጠቅመው የሚያስፈልገውን ቢን ይምረጡ፣ ለምሳሌ @Qualifier("directRestTemplate") RestTemplate rest። ሁለቱን ቢንዶች መግለጽ ብቻ ለአሻሚ ጥገኝነት በመካከላቸው አይመርጥም።

ይህ ምሳሌ ማንነት የማይረጋገጥ HTTP ፕሮክሲ ይመርጣል። የፕሮክሲ ማረጋገጫ የሚያስፈልገው ማጓጓዣ ተመሳሳዩን የቢን ምርጫ አደረጃጀት እየጠበቀ በራሱ የሚደገፍ የምስክር አቅራቢ ተለይቶ ሊገነባ ይችላል። ለSpring 6 ከApache HttpClient 5 ጋር፣ ያንን አቅራቢ በፕሮክሲ መጨረሻ ላይ ይገድቡ።

ሌሎች በመተግበሪያው ሆን ተብለው የተጫኑ መጥለፊያዎች ወይም የጥያቄ ፋብሪካዎች አሁንም የራሳቸው የደንበኛ ማዋቀሪያ ናቸው። በትክክል ከሚፈልጋቸው መንገድ ጋር ያቆዩዋቸው።

ተዛማጅ ጽሑፎች