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 实现。它更具可读性,并且有更多关于将它们链接在一起的文档