completable-future相关内容

如何高效地使用CompletableFuture映射每个输入的异步任务

我希望返回包含所有键到值的映射的映射,该值是对这些键的API响应。为此,我使用CompletableFuture和Guava。以下是我的尝试。有没有其他标准的方法来实现与Java 8和线程API相同的功能? 映射为id -> apiResponse(id)。 public static List returnAPIResponse(Integer ke ..
发布时间:2022-04-18 09:16:15 Java开发

Spring将请求范围的bean提升到子线程(HttpServletRequest)

我现在尝试了很多东西,但我似乎错过了一块拼图.这是故事:我有一个请求范围的 bean,它从 HttpServletRequest 读取一些 SessionContext.此属性在过滤器中设置.因此,当代码在正确的线程上运行时,这绝对可以正常工作. @Component@Scope(值 = WebApplicationContext.SCOPE_REQUEST,proxyMode = Scoped ..

“CompletionStage"和“CompletableFuture"有什么区别

我在他们每个人中都看到了一个例子,但我需要确切地知道 deep 的区别是什么,因为有时我认为我可以同时使用它们来获得相同的结果,所以我想知道以便我可以选择正确的? 分别使用它们有什么好处? 就像这个例子一样: public CompletionStagegetNextQueryUUID() {返回 CompletableFuture.supplyAsync(() -> {String ..
发布时间:2022-01-02 21:48:45 Java开发

如何中断 CompletableFuture 的底层执行

我知道 CompletableFuture 设计不会通过中断来控制其执行,但我想你们中的一些人可能会遇到这个问题.CompletableFuture 是组合异步执行的非常好的方法,但是如果您希望在取消 Future 时中断或停止底层执行,我们该怎么做?或者我们必须接受任何取消或手动完成的 CompletableFuture 不会影响在那里工作以完成它的线程? 在我看来,这显然是一项耗费 ex ..
发布时间:2021-12-28 22:56:05 Java开发

Java8 CompletableFuture recoveryWith 等价物?例如异常但返回 CompletableFuture;

我没有看到处理具有异步结果的异常的明显方法.例如,如果我想重试异步操作.我期待这样的事情,但是 handleAsync 并没有像你想象的那样做——它异步地在另一个线程上运行回调.在这里返回 CompletionStage 是不正确的.当天的危险问题:thenApply 对 thenCompose 来说就像 exceptionally 对什么? CompletionStagecf = askPon ..
发布时间:2021-12-28 09:06:59 Java开发

列表<未来>到未来<列表>Java中的序列

我正在尝试将 List> 转换为 CompletableFuture>.当您有许多异步任务并且需要获取所有任务的结果时,这非常有用. 如果其中任何一个失败,那么最终的未来就会失败.这就是我实施的方式: public static CompletableFuture>序列2(列表> com,ExecutorService exec){如果(com.isEmpty()){抛出新的 Illeg ..
发布时间:2021-11-25 20:26:13 Java开发

android:使用 CompletableFuture 从 Room 加载列表?

由于 AsyncTask() 方法已被弃用,我正在尝试替换它.以前 AsyncTask() 用于将 CardView 从 Room 数据库加载到 RecyclerView 列表中.我正在尝试使用 CompletableFuture() 作为替代,但该列表未加载.“List getAllCards()"的 Dao 方法;在 Android Studio 中给出错误消息“从未使用过该方法的返回值";所 ..

使用 Spring App 中的期货处理并行异步操作

我有一个包含 +1M 条目的数据库,我正在以块的形式查询数据库(假设 chunkSize = 1000). 迭代这个 1000 块,我想为每个实体向rabbitMQ 发布一条消息,将这个块的所有期货收集到一个数组/列表中. 等待这个futures数组,直到所有futures都完成/失败,然后把这个1000的数组过滤成两个新的list(successList,failureList),然 ..

CompletableFuture如何先返回FALSE或等到全部完成后再返回TRUE

我有些奇怪的情况,似乎不允许这种钉子钉入任何已广泛建立的CompletableFuture孔中. 在一个用于评估返回的布尔值的主要方法中,我想允许对三种不同方法的调用以异步方式完成.这三种方法都可以返回TRUE或FALSE. 如果 any 返回FALSE,我希望评估结果除去其余部分,然后简单地返回该FALSE值.关键是,它可以是三个中的任何,不一定是第一个. 但最重要的是,我需要评估,直 ..
发布时间:2021-04-23 20:09:11 Java开发