completable-future 相关问题

在Java 8中,可以显式完成的Future(设置其值和状态),并且可以包括在完成时触发的依赖函数和动作。

CompletableFuture.allof() 获取空指针异常

我的结构类似于下面的代码块。不知何故,我在 CompletableFuture.allOf 方法中得到 nullpointerException: 这里可能有什么问题? 谢谢.. 列表 我的结构类似于下面的代码块。不知何故,我在 CompletableFuture.allOf 方法中得到 nullpointerException: 这里可能有什么问题? 谢谢.. List<CompletableFuture<String>> completableFutures = new ArrayList<>(); for(Classx list : request.getlist()) { switch (list.getCases()) { case 1: completableFutures.add(asyncProcess(list)); break; case 2: completableFutures.add(asyncProcess2(list)); break; } } CompletableFuture<Void> allFutures = CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])); @Async public CompletableFuture<String> asyncProcess(Classx list) { try{ //..some codes } catch(Exception e){ //..some codes } return CompletableFuture.completedFuture(x.getX()); } @Async public CompletableFuture<String> asyncProcess2(Classx list) { try{ //..some codes } catch(Exception e){ //..some codes } return CompletableFuture.completedFuture(x.getX()); } 错误信息是: java.lang.NullPointerException at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1306) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1305) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1305) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1305) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1305) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1305) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1305) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1305) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1303) at java.util.concurrent.CompletableFuture.allOf(CompletableFuture.java:2225) 当我按如下方式更改代码时,它会引发相同的错误。 CompletableFuture allFutures = CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[completableFuture.size()])); 查看CompletableFutre.andTree的源代码,似乎当传入数组的元素为null时抛出此异常。在您的 return 函数之一中必须有一些额外的 asyncProcees 语句可以返回 null。

回答 1 投票 0

为什么 thenAccept 在循环中不起作用?

在使用 CompletableFutures 时,我发现了这些我无法理解的输出。我将分享两个在我看来应该表现相同的片段。但他们不是。 所以

回答 1 投票 0

如何增强CompletableFuture Join性能

我在java项目中工作,我使用ResTemplate调用rest api,我使用CompletableFuture进行并行调用,这是我的代码: 列表>

回答 1 投票 0

如何加快并行列表处理速度

我正在尝试解决一个问题:有一个字符串列表,每个字符串必须单独处理。每个字符串的处理时间大约为 40-50 ms,如果列表中有 200 个字符串,那是 ar...

回答 1 投票 0

了解Java并发

我正在底层学习java并发,我读过一些关于多线程和并发的java文章和视频,但似乎无法将它们全部放在一起 这是…的要点...

回答 1 投票 0

CompletableFuture 未按预期工作并且具有更多数量的额外线程

我正在尝试并行化以下操作,即在每次迭代中通过分页获取具有 50000 条记录的所有记录,并将它们写入 s3 文件上的 CSV 文件中。 并行之前: 噗...

回答 1 投票 0

Java8 CompletableFuture.get(long timeout, TimeUnit unit)没有及时返回

我假设所有任务都会在 1000 毫秒后超时,但实际上并非如此。 它打印如下,这是如何发生的。 未来0 java.util.concurrent.TimeoutException 1010 未来1 java.util.conc...

回答 1 投票 0

将参数传递给供应商的最佳方式,例如为了完整的未来?

抱歉,我很确定肯定已经有人问过类似的问题,但我就是找不到答案。 比如说,有一个服务类 ChessEngineService 它有一个实例方法: 字符串

回答 1 投票 0

集成测试的奇怪问题

@Sql 在测试类 插入bankdemo.bills(id, is_active, 余额, 货币, account_id) 值('0', '1', '0.00', 'RUB', '0'); 绿色测试显示数据库中存在 id == 0 的 Bill @Te...

回答 1 投票 0

无法在同一个类的对象上调用类CompletableFuture的静态方法supplyAsync! CompletableFuture c=new CompletableFutre; c 失败

在JAVA CompletableFuture中是一个类,其中包含一个名为supplyAsync()的静态方法,我可以使用CompletableFuture.supplyAsync()模式调用这个静态方法,但我无法调用静态方法

回答 1 投票 0

CompletableFuture 事务回滚

给出这段代码: @异步 @事务性 公共 CompletableFuture> newBundle(字符串名称){ 返回 CompletableFuture.supplyAsync(() -> { 捆绑新捆绑 =

回答 1 投票 0

Java 中的 CompletableFuture 导致 ThreadLocal 上下文丢失

我有一个类DatabaseContextHolder,它使用ThreadLocal根据用户的API密钥管理数据源。 公共最终类DatabaseContextHolder { 私有静态最终ThreadLocal<

回答 1 投票 0

Java 异步代码中的屈服控制

我有 Rust/C#/Javascript 异步编程背景,并试图理解类似的 Java 习惯用法。具体来说,我想了解是否存在“绿色线程&

回答 2 投票 0

我可以多次提交给同一个单线程执行器吗?

我有一个代码块,应该使用 CompletableFuture 和 ExecutorService 在不同线程上并行运行。该代码块发出网络请求(使用 RetroFit),并等待每个

回答 1 投票 0

使用 CompletableFutures 和 Java 时的 PlayFramework 自定义执行器

在最新版本的 PlayFramework 中,他们开始使用 CompletionStage 作为用于异步执行的控制器的返回类型,或者简而言之,如果您返回 CompletionStage,则它是

回答 1 投票 0

在 CompletableFutures 中捕获异常的最佳实践

我经常发现返回 CompletableFuture 的库方法,并且在函数签名中也会抛出异常。据我了解,这些函数中抛出的异常不会被捕获......

回答 1 投票 0

CompletableFuture 是否运行在不同的内核上?

当一个人将 CompletableFuture 与 Executor 一起使用时。这些任务是否在不同的内核上运行?或者它可能是相同的核心,但只是来自 Theadpool 的线程?在文档中我看不到任何内容...

回答 2 投票 0

Java 如何在泛型类型(例如 CompletableFuture)中与 Kotlin ByteArray 配合使用?

我正在将代码库从 Java 转换为 Kotlin。现有的代码库使用 CompletableFuture 进行大量异步操作,我正在将许多异步方法迁移到 Kotlin 协程...

回答 1 投票 0

CompletableFuture.get() 卡住,不返回结果

我有一个 Java 代码片段,它使用 CompletableFuture 异步检索数据。 @GetMapping("/voyagePointData/{reportType}") @PreAuthorize("@generalGuard.isResourceAllowed(

回答 1 投票 0

如果没有人持有对 CompletableFuture 的引用,它是否总是会在被垃圾收集之前完成?

Java 对象一旦无法访问就有资格进行垃圾回收,我的困惑是无法访问的 CompletableFutures 会发生什么,如下所示: 无效一些方法(){ methodThatProduceCompletableFut...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.