This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch cc in repository https://gitbox.apache.org/repos/asf/camel.git
commit b6eb481723b5170d64ca05a3a4df9d480afd86de Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Nov 29 08:46:15 2023 +0100 CAMEL-20164: camel-core - Dev console for consumer --- .../camel/impl/console/ConsumerDevConsole.java | 7 +++++-- .../mbean/ManagedSchedulePollConsumerMBean.java | 14 ++++++++++++++ .../mbean/ManagedScheduledPollConsumer.java | 20 ++++++++++++++++++++ .../apache/camel/support/ScheduledPollConsumer.java | 14 +++++++------- 4 files changed, 46 insertions(+), 9 deletions(-) diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java index 5c7159e7468..401e608f63b 100644 --- a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java +++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java @@ -58,13 +58,16 @@ public class ConsumerDevConsole extends AbstractDevConsole { sb.append(String.format("\n Inflight: %d", inflight)); if (mcc instanceof ManagedSchedulePollConsumerMBean mpc) { sb.append(String.format("\n Polling: %s", mpc.isPolling())); + sb.append(String.format("\n First Poll Done: %s", mpc.isFirstPollDone())); sb.append(String.format("\n Scheduler Started: %s", mpc.isSchedulerStarted())); sb.append(String.format("\n Scheduler Class: %s", mpc.getSchedulerClassName())); - sb.append(String.format("\n Running Logging Level: %s", mpc.getRunningLoggingLevel())); + sb.append(String.format("\n Repeat Count: %s", mpc.getRepeatCount())); sb.append(String.format("\n Fixed Delay: %s", mpc.isUseFixedDelay())); sb.append(String.format("\n Greedy: %s", mpc.isGreedy())); + sb.append(String.format("\n Running Logging Level: %s", mpc.getRunningLoggingLevel())); sb.append(String.format("\n Send Empty Message When Idle: %s", mpc.isSendEmptyMessageWhenIdle())); - sb.append(String.format("\n Repeat Count: %s", mpc.getRepeatCount())); + sb.append(String.format("\n Counter(total: %d success: %d error: %d)", + mpc.getCounter(), mpc.getSuccessCounter(), mpc.getErrorCounter())); sb.append(String.format("\n Delay(initial: %d delay: %d unit: %s)", mpc.getInitialDelay(), mpc.getDelay(), mpc.getTimeUnit())); sb.append(String.format( diff --git a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedSchedulePollConsumerMBean.java b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedSchedulePollConsumerMBean.java index 5cee5385216..77aa84b89f7 100644 --- a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedSchedulePollConsumerMBean.java +++ b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedSchedulePollConsumerMBean.java @@ -90,4 +90,18 @@ public interface ManagedSchedulePollConsumerMBean extends ManagedConsumerMBean { @ManagedAttribute(description = "Repeat count") long getRepeatCount(); + @ManagedAttribute(description = "Whether a first pool attempt has been done (also if the consumer has been restarted)") + boolean isFirstPollDone(); + + @ManagedAttribute(description = "Total number of polls run") + long getCounter(); + + @ManagedAttribute(description = "Error counter. If the counter is > 0 that means the consumer failed polling for the last N number of times." + + " When the consumer is successfully again, then the error counter resets to zero.") + long getErrorCounter(); + + @ManagedAttribute(description = "Success counter. If the success is > 0 that means the consumer succeeded polling for the last N number of times." + + " When the consumer is failing again, then the success counter resets to zero.") + long getSuccessCounter(); + } diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java index 1865ebac112..7c39603de50 100644 --- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java +++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedScheduledPollConsumer.java @@ -152,4 +152,24 @@ public class ManagedScheduledPollConsumer extends ManagedConsumer implements Man public long getRepeatCount() { return getConsumer().getRepeatCount(); } + + @Override + public boolean isFirstPollDone() { + return getConsumer().isFirstPollDone(); + } + + @Override + public long getCounter() { + return getConsumer().getCounter(); + } + + @Override + public long getErrorCounter() { + return getConsumer().getErrorCounter(); + } + + @Override + public long getSuccessCounter() { + return getConsumer().getSuccessCounter(); + } } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java index ffcfa3384ff..86337c9979c 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java @@ -452,16 +452,13 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer this.scheduledExecutorService = scheduledExecutorService; } - // Implementation methods - // ------------------------------------------------------------------------- - /** * Gets the error counter. If the counter is > 0 that means the consumer failed polling for the last N number of * times. When the consumer is successfully again, then the error counter resets to zero. * * @see #getSuccessCounter() */ - protected long getErrorCounter() { + public long getErrorCounter() { return errorCounter; } @@ -471,24 +468,27 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer * * @see #getErrorCounter() */ - protected long getSuccessCounter() { + public long getSuccessCounter() { return successCounter; } /** * Gets the total number of polls run. */ - protected long getCounter() { + public long getCounter() { return counter.get(); } /** * Whether a first pool attempt has been done (also if the consumer has been restarted) */ - protected boolean isFirstPollDone() { + public boolean isFirstPollDone() { return firstPollDone; } + // Implementation methods + // ------------------------------------------------------------------------- + /** * Gets the last caused error (exception) for the last poll that failed. When the consumer is successfully again, * then the error resets to null.