项目中的要求指定我需要为其余模板动态设置不同的代理。我从另一项服务中读取了这些代理值,并且如果对代理设置进行了任何更改-我必须调整resttemplate才能使用这些代理设置。
这是用于为resttemplate设置代理的通用代码。
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
InetSocketAddress address = new InetSocketAddress(host,portNr);
Proxy proxy = new Proxy(Proxy.Type.HTTP,address);
factory.setProxy(proxy);
restTemplate.setRequestFactory(factory);
但是给定一个resttemplate在我的控制器中自动连接-是否有一种方法可以获取代理设置-proxyHost,proxyPort等?这将有助于调试是否将代理所做的更改实际上注入到其余模板中。
我尝试了
SimpleClientHttpRequestFactory requestFactory = (SimpleClientHttpRequestFactory) restTemplate.getRequestFactory();
requestFactory.getProxy(); //However there is only setProxy here and no getProxy