跨多个实例共享RestTemplate的MessageConverters

时间:2016-04-19 20:59:17

标签: java multithreading resttemplate

我做的基准测试显示,创建new RestTamplate()的大约70%的时间是MessageConverters,所以我想知道创建一组转换器并在多个实例中使用它是否安全,来自不同的主题。

修改 动机是记录所有流量“在线”。我想过使用ClientHttpRequestInterceptor来实现它。但由于每个请求都应该记录到不同的文件中,我想用不同的拦截器为每组请求创建新的RestTemplate。

1 个答案:

答案 0 :(得分:0)

这个HttpMessageConverter的javadoc并没有明确要求它,但目的是使实现成为线程安全的。如果它们是线程安全的,则可以安全地在多个RestTemplate实例中使用它们。

RestTemplate与您将使用的任何其他HTTP客户端类似。每个应用程序通常不需要多个实例。 (代理,SSL配置等存在一些例外情况)