Java 有没有办法让Spring@Async方法延迟执行直到条件为真?
我使用@Async方法调用了一些任务,这些任务只应在给定条件为true时运行。如果条件为非真,则应保留任务以供以后运行。基本上,我希望做到以下几点:Java 有没有办法让Spring@Async方法延迟执行直到条件为真?,java,spring,multithreading,spring-boot,asynchronous,Java,Spring,Multithreading,Spring Boot,Asynchronous,我使用@Async方法调用了一些任务,这些任务只应在给定条件为true时运行。如果条件为非真,则应保留任务以供以后运行。基本上,我希望做到以下几点: @Async public void doTask() { if (checkCondition()) { // task logic } else { // put this task in back of queue } } 实现这一效果的最佳方法是什么?您可以使用任何消息队列,并在需要时使用使用者。使用C
@Async
public void doTask() {
if (checkCondition()) {
// task logic
}
else {
// put this task in back of queue
}
}
实现这一效果的最佳方法是什么?您可以使用任何消息队列,并在需要时使用使用者。使用CompletableFuture,当条件为真时解决问题何时知道检查条件?编译还是运行时?在运行时;这取决于调用外部API。