Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Guavas Futures.transform的Spring实现_Java_Spring_Guava - Fatal编程技术网

Java Guavas Futures.transform的Spring实现

Java Guavas Futures.transform的Spring实现,java,spring,guava,Java,Spring,Guava,我知道spring有自己的ListenableFuture实现,但是它有类似的Futures.transform实现吗?我试图找到一种使用spring提供的类将操作链接在一起的方法,但我只看到使用Guava的示例。spring的实现似乎是ListenableFutureAdapter 以下是一个例子: @Service public class HeavyLiftingServiceImpl implements IHeavyLiftingService { public Listen

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

spring的实现似乎是
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;
    }

}
@服务
公共类HeavyLiftingServiceImpl实现IHeavyLiftingService{
公开上市未来重型运输(){
AsyncRestTemplate asycTemp=新的AsyncRestTemplate();
ListenableFuture=asycTemp.execute(url、方法、requestCallback、responseExtractor、urlVariable);
ListenableFutureAdapterChainedFuture;
chainedFuture=新的ListenableFutureAdapter(未来){
@凌驾
受保护的字符串自适应(字符串自适应结果)
抛出ExecutionException{
String parsedString=parse(adapteresult);
返回自适应结果;
}
};
回报链未来;
}
}
我建议使用Guava的listenable future实现。它更具可读性,并且有更多关于将它们链接在一起的文档