java - Guavas Futures.transform 的 Spring 实现

标签 java spring guava

我知道spring有自己的ListenableFuture实现,但是它有类似的Futures.transform实现吗?我试图找到一种使用 spring 提供的类将操作链接在一起的方法,但我只看到使用 Guava 的示例。

最佳答案

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

关于java - Guavas Futures.transform 的 Spring 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143511/

相关文章:

java - Hibernate 中返回列表中一些聚合结果的条件

java - 带有桌面客户端的服务器端事件。即没有浏览器(java)

java - 从 Spring MVC Controller 推送实时数据

java - 将值放入谷歌 Guava loadingCache中

java - 使用 Bouncy CaSTLe 库 c# 解密 pdf.p7m 文件时出现问题

java - 错误 - trustAnchors 参数必须非空

java - .NET 中 Guava 服务的替代方案?

java - 带有 Guava 集合的线程安全 HashSet

在 XML 中配置的 Spring Integration Kafka 端点的 Java DSL 等价物

spring - 通过HttpServletResponse/HttpServletRequest获取HTML内容