我想知道Spring 3.2中是否有AsyncRestTemplate.exchange
的等价物。我的大多数应用程序是在Spring 3.2上编写的,我想对Web服务进行异步调用。在Spring 4中,我们可以使用AsyncRestTemplate
来实现这一目标。在Spring 3.2中执行此操作的方法是什么?
对此的任何帮助都会很棒!
答案 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,但它将阻塞调用委托给单独的线程。