Spring 实施番石榴 Futures.transform
Spring implementation of Guavas Futures.transform
我知道 spring 有自己的 ListenableFuture
实现,但它有类似的 Futures.transform
实现吗?我试图找到一种使用 类 spring 提供的方法将操作链接在一起,但我只看到使用番石榴的示例。
Springs 实现似乎是 ListenableFutureAdapter
这是一个例子:
@Service
public class HeavyLiftingServiceImpl implements IHeavyLiftingService {
public ListenableFuture<String> heavyLifting() {
AsyncRestTemplate asycTemp = new AsyncRestTemplate();
ListenableFuture<String> future = asycTemp.execute(url, method, requestCallback, responseExtractor, urlVariable);
ListenableFutureAdapter<String, String> chainedFuture;
chainedFuture = new ListenableFutureAdapter<String, String>(future) {
@Override
protected String adapt(String adapteeResult)
throws ExecutionException {
String parsedString = parse(adapteeResult);
return adapteeResult;
}
};
return chainedFuture;
}
}
我建议使用 Guava 的 listenable future 实现。它更具可读性,并且有更多关于将它们链接在一起的文档
我知道 spring 有自己的 ListenableFuture
实现,但它有类似的 Futures.transform
实现吗?我试图找到一种使用 类 spring 提供的方法将操作链接在一起,但我只看到使用番石榴的示例。
Springs 实现似乎是 ListenableFutureAdapter
这是一个例子:
@Service
public class HeavyLiftingServiceImpl implements IHeavyLiftingService {
public ListenableFuture<String> heavyLifting() {
AsyncRestTemplate asycTemp = new AsyncRestTemplate();
ListenableFuture<String> future = asycTemp.execute(url, method, requestCallback, responseExtractor, urlVariable);
ListenableFutureAdapter<String, String> chainedFuture;
chainedFuture = new ListenableFutureAdapter<String, String>(future) {
@Override
protected String adapt(String adapteeResult)
throws ExecutionException {
String parsedString = parse(adapteeResult);
return adapteeResult;
}
};
return chainedFuture;
}
}
我建议使用 Guava 的 listenable future 实现。它更具可读性,并且有更多关于将它们链接在一起的文档