Spring 3.2中的AsyncRestTemplate.exchange等价物

时间:2015-09-07 13:09:53

标签: java spring

我想知道Spring 3.2中是否有AsyncRestTemplate.exchange的等价物。我的大多数应用程序是在Spring 3.2上编写的,我想对Web服务进行异步调用。在Spring 4中,我们可以使用AsyncRestTemplate来实现这一目标。在Spring 3.2中执行此操作的方法是什么? 对此的任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

作为@M。 Deinum提到,用Spring编写自己的异步代码很容易。如果您这样做:

  @Async("customTaskExecutor")
  public Future<String> asyncRestTemplateCall(){
    return new AsyncResult<String>(restTemplate.exchange(...));
  }

线程池的配置如下所示:

@Configuration
@EnableAsync
public class AsyncConfiguration {
  @Bean
  public Executor customTaskExecutor() {
    return Executors.newFixedThreadPool(10);
  }
}

您已在异步调用中包装RestTemplate,AsyncResult实现了Java功能。

编辑:

Max在评论中提到,这不使用带有非阻塞I / O的事件循环作为AsyncRestTemplate,但它将阻塞调用委托给单独的线程。