You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/12/01 07:08:24 UTC
[camel] 02/03: default implementation for run(Predicate, payload) in BlockingTask
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit a5764537c61506759cf2a8d578714b0029e61f96
Author: Michael Lück <gi...@lueckonline.net>
AuthorDate: Mon Nov 28 20:00:29 2022 +0100
default implementation for run(Predicate, payload) in BlockingTask
---
.../apache/camel/support/task/BackgroundTask.java | 5 ----
.../apache/camel/support/task/BlockingTask.java | 4 ++-
.../apache/camel/support/task/ForegroundTask.java | 30 ----------------------
3 files changed, 3 insertions(+), 36 deletions(-)
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java b/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
index c7e63fb50e9..035e795b422 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
@@ -105,11 +105,6 @@ public class BackgroundTask implements BlockingTask {
}
}
- @Override
- public <T> boolean run(Predicate<T> predicate, T payload) {
- return this.run(() -> predicate.test(payload));
- }
-
@Override
public boolean run(BooleanSupplier supplier) {
final CountDownLatch latch = new CountDownLatch(1);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java b/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java
index a7e93e1d572..757a7bcea20 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java
@@ -36,7 +36,9 @@ public interface BlockingTask extends Task {
* @return true if the task has completed successfully or false if: 1) the budget is exhausted or 2) the
* task was interrupted.
*/
- <T> boolean run(Predicate<T> predicate, T payload);
+ default <T> boolean run(Predicate<T> predicate, T payload) {
+ return this.run(() -> predicate.test(payload));
+ }
/**
* Run the task
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java b/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
index deefe7e8d78..e5e32df2242 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
@@ -80,36 +80,6 @@ public class ForegroundTask implements BlockingTask {
this.name = name;
}
- @Override
- public <T> boolean run(Predicate<T> predicate, T payload) {
- boolean completed = false;
- try {
- if (budget.initialDelay() > 0) {
- Thread.sleep(budget.initialDelay());
- }
-
- while (budget.next()) {
- if (predicate.test(payload)) {
- LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
- name, budget.iteration());
- completed = true;
- break;
- }
-
- if (budget.canContinue()) {
- Thread.sleep(budget.interval());
- }
- }
- } catch (InterruptedException e) {
- LOG.warn("Interrupted {} while waiting for the repeatable task to finish", name);
- Thread.currentThread().interrupt();
- } finally {
- elapsed = budget.elapsed();
- }
-
- return completed;
- }
-
@Override
public boolean run(BooleanSupplier supplier) {
boolean completed = false;