import java.util.concurrent.CompletableFuture;
import static org.awaitility.Awaitility.await;
import static java.time.Duration.ofSeconds;
public class AsyncExample {
public static CompletableFuture<String> performAsyncTask() {
return CompletableFuture.supplyAsync(() -> {
try {
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Task completed";
});
}
public static void main(String[] args) {
CompletableFuture<String> future = performAsyncTask();
await().atMost(ofSeconds(10)).until(() ->
future.isDone());
System.out.println("Result: " + future.join());
}
}
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>4.0.1</version>
<scope>test</scope>
</dependency>