Rhaid i rai galwadau ddefnyddio'r wmbreth corfforaethol tra cyrhaeddir gwasanaeth arall yn uniongyrchol. Rhowch enghreifftiau RestTemplate ar wahân i'r llwybrau hynny yn lle newid un ffatri a rennir tra gall ceisiadau orgyffwrdd.

Y tu mewn i ddosbarth ffurfweddu Spring sy'n bodoli eisoes:

@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);
}

Ar gyfer ffatri ceisiadau JDK Spring 6.2, mae Proxy.NO_PROXY yn darparu polisi cysylltiad uniongyrchol penodol. Mae gadael wmbreth y ffatri heb ei osod yn hytrach yn caniatáu llwybr ffurfweddu arferol URLConnection, a all ddewis wmbreth JVM.

Defnyddiwch @Qualifier ar y pwynt chwistrellu i ddewis y ffa gofynnol, er enghraifft @Qualifier("directRestTemplate") RestTemplate rest. Nid yw diffinio'r ddau ffa yn unig yn dewis rhyngddynt ar gyfer dibyniaeth amwys.

Mae'r enghraifft hon yn dewis wmbreth HTTP heb ei ddilysu. Gellir adeiladu cludiant sy'n gofyn am ddilysu wmbreth ar wahân gyda'i ddarparwr tystlythyrau a gefnogir tra'n cadw'r un drefn dewis ffa. Ar gyfer Spring 6 gyda Apache HttpClient 5, cyfyngwch y darparwr hwnnw i ben y wmbreth.

Mae rhyng-gipwyr neu ffatrïoedd ceisiadau eraill a osodir yn fwriadol gan y rhaglen yn dal i berthyn i'w chyfluniad cleient ei hun. Cadwch nhw gyda'r llwybr sydd eu hangen mewn gwirionedd.

Erthyglau cysylltiedig