は、私は、次の方法でネットワークプロキシを設定しようとしましたが、この方法のどれも春にoauth2 OAuth2AccessTokenリクエストでプロキシを設定する方法、またはOAuth2AccessTokenSupport restTemplate変数をオーバーライドする方法
1を作業していないます。-Dhttp.proxyHost = -Dhttp.proxyPort =のようにJVM変数を設定する.......
2:豆を作りました。
@Bean
public RestTemplate restTemplate() {
final String proxyHost = "######"; // host
final int proxyPort = ####; // port
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setProxy(new Proxy(Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)));
return new RestTemplate(factory);
}
ただし、この構成は、OAuth2AccessTokenSupport.restTemplateによってオーバーライドされます。
したがって、以下のメソッドは、常に新しく作成された残りのテンプレートオブジェクトを返します。
org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport
protected RestOperations getRestTemplate() {
if (restTemplate == null) {
synchronized (this) {
if (restTemplate == null) {
RestTemplate restTemplate = new RestTemplate();
restTemplate.setErrorHandler(getResponseErrorHandler());
restTemplate.setRequestFactory(requestFactory);
restTemplate.setInterceptors(interceptors);
this.restTemplate = restTemplate;
}
}
}
if (messageConverters == null) {
setMessageConverters(new RestTemplate().getMessageConverters());
}
return restTemplate;
}
親切に私はOAuthクライアントアプリケーションから残りのテンプレートにプロキシを無効にしたり、設定したりするのに役立ちます。
提案がありますか? – Karthikeyan