java - 使用 RestTemplate,如何先将请求发送到代理,以便我可以将 junit 与 JMeter 一起使用?

标签 java rest proxy spring-mvc jmeter

我在使用 Spring-MVC 3.0 实现的开发盒上运行了一个 Web 服务。我有各种使用 RestTemplate 对该服务进行测试的 JUnit。我想做的是让 JMeter 在我运行这些 JUnits REST 请求时接收它们。但是,要做到这一点,我需要让 Spring 的 RestTemplate 将它们发送到我正在运行 JMeter 的代理。那么问题来了,我该怎么做呢?

我已经用 CXF 和他们的 http:conduit 和 http:client 东西做了类似的事情,但我真的不知道如何用 Spring-MVC 做到这一点。

最佳答案

@AHungerArtist 的答案适用于简单的用例,您希望所有请求都使用相同的代理。但是,如果您需要通过 restTemplate 的一些请求来使用代理,而另一些则不需要,您可能会发现这更有用。 (或者,如果您只是喜欢以编程方式进行操作,而不是喜欢使用系统属性!)

@Bean
public RestTemplate restTemplate() {
    SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();

    Proxy proxy = new Proxy(Type.HTTP, new InetSocketAddress("my.host.com", 8080));
    requestFactory.setProxy(proxy);

    return new RestTemplate(requestFactory);
}

您应该能够以这种方式创建 restTemplate bean 的副本,并以正常方式创建另一个副本,这样您就可以在使用和不使用代理的情况下发送请求。

关于java - 使用 RestTemplate,如何先将请求发送到代理,以便我可以将 junit 与 JMeter 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687670/

相关文章:

java - ActionBarActivity 返回 api10f 的 ListFragment 时出现问题

Java JsonMappingException 错误

python - 使用多个代理限制请求

swift - 等待返回主 block ,直到其封装的子 block 完成

rest - 带有过滤器的 Google Photos API 可以获取带有相册信息的照片?

nginx - 什么是kube-nginx,它与kube-proxy有何区别?

nginx - 启动失败 nginx HTTP 和反向代理服务器问题

java - itext 7 html 到 pdf 带页面大小检测

java - JPA 实体是否存储对实体管理器的引用?

java - 排序并显示数组