首页 > 解决方案 > 我可以使用 CompletableFuture 重复方法,直到值为 true

问题描述

我有一个从数据库表格单元格中获取值的 Java 方法。让我们命名jdbcTemplate.queryForObject()

我想每 2 分钟运行一次此方法,直到单元格的值变为true.

是否可以使用 CompletableFuture 实现这一目标?

标签: javaspring-bootjava-8completable-future

解决方案


不。

  1. ACompletableFuture是一种将结果从一个线程传递到另一个线程的机制。它没有任何计算或重复事物的功能。

  2. ACompletableFuture只返回一个值。一旦“完成”,该值就无法更改。您可以complete使用不同的值多次调用,但根据javadoc将忽略它们。

当然,您可以编写一些重复查询数据库的代码,并且仅complete(...)在数据库单元格变为 true 时调用。但这并不能用于 CompletableFuture重复查询。


推荐阅读