CAMEL-8526: Add more EIP as specialized mbeans
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cfce63df Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cfce63df Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cfce63df Branch: refs/heads/master Commit: cfce63df0cb55bef9b31ae978c1869092ddf6da5 Parents: d918a9c Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Jul 21 17:22:57 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Jul 21 18:06:25 2015 +0200 ---------------------------------------------------------------------- .../management/mbean/ManagedDelayerMBean.java | 6 ++++++ .../management/mbean/ManagedThrottlerMBean.java | 9 ++++++++ .../camel/management/mbean/ManagedDelayer.java | 16 +++++++++++--- .../management/mbean/ManagedThrottler.java | 22 +++++++++++++++----- .../apache/camel/model/ThrottleDefinition.java | 2 +- 5 files changed, 46 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/cfce63df/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedDelayerMBean.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedDelayerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedDelayerMBean.java index 5f28641..a5c71f1 100644 --- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedDelayerMBean.java +++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedDelayerMBean.java @@ -30,4 +30,10 @@ public interface ManagedDelayerMBean extends ManagedProcessorMBean { @ManagedAttribute(description = "Number of exchanges currently delayed") int getDelayedCount(); + @ManagedAttribute(description = "Enables asynchronous delay which means the thread will not block while delaying") + Boolean isAsyncDelayed(); + + @ManagedAttribute(description = "Whether or not the caller should run the task when it was rejected by the thread pool") + Boolean isCallerRunsWhenRejected(); + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/cfce63df/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrottlerMBean.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrottlerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrottlerMBean.java index feec600..3bceae6 100644 --- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrottlerMBean.java +++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrottlerMBean.java @@ -35,4 +35,13 @@ public interface ManagedThrottlerMBean extends ManagedProcessorMBean { @ManagedAttribute(description = "Number of exchanges currently throttled") int getThrottledCount(); + @ManagedAttribute(description = "Enables asynchronous delay which means the thread will not block while delaying") + Boolean isAsyncDelayed(); + + @ManagedAttribute(description = "Whether or not the caller should run the task when it was rejected by the thread pool") + Boolean isCallerRunsWhenRejected(); + + @ManagedAttribute(description = "Whether or not throttler throws the ThrottlerRejectedExecutionException when the exchange exceeds the request limit") + Boolean isRejectExecution(); + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/cfce63df/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java index ce2a45e..ef83388 100644 --- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java +++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDelayer.java @@ -41,15 +41,25 @@ public class ManagedDelayer extends ManagedProcessor implements ManagedDelayerMB } public Long getDelay() { - return getDelayer().getDelayValue(); + return delayer.getDelayValue(); } public void constantDelay(Integer millis) { Expression delay = ExpressionBuilder.constantExpression(millis); - getDelayer().setDelay(delay); + delayer.setDelay(delay); } public int getDelayedCount() { - return getDelayer().getDelayedCount(); + return delayer.getDelayedCount(); } + + public Boolean isAsyncDelayed() { + return delayer.isAsyncDelayed(); + } + + @Override + public Boolean isCallerRunsWhenRejected() { + return delayer.isCallerRunsWhenRejected(); + } + } http://git-wip-us.apache.org/repos/asf/camel/blob/cfce63df/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java index 99a5e95..0f49fb1 100644 --- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java +++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrottler.java @@ -41,22 +41,34 @@ public class ManagedThrottler extends ManagedProcessor implements ManagedThrottl } public long getMaximumRequestsPerPeriod() { - return getThrottler().getCurrentMaximumRequestsPerPeriod(); + return throttler.getCurrentMaximumRequestsPerPeriod(); } public void setMaximumRequestsPerPeriod(long maximumRequestsPerPeriod) { - getThrottler().setMaximumRequestsPerPeriodExpression(constant(maximumRequestsPerPeriod)); + throttler.setMaximumRequestsPerPeriodExpression(constant(maximumRequestsPerPeriod)); } public long getTimePeriodMillis() { - return getThrottler().getTimePeriodMillis(); + return throttler.getTimePeriodMillis(); } public void setTimePeriodMillis(long timePeriodMillis) { - getThrottler().setTimePeriodMillis(timePeriodMillis); + throttler.setTimePeriodMillis(timePeriodMillis); } public int getThrottledCount() { - return getThrottler().getDelayedCount(); + return throttler.getDelayedCount(); + } + + public Boolean isAsyncDelayed() { + return throttler.isAsyncDelayed(); + } + + public Boolean isCallerRunsWhenRejected() { + return throttler.isCallerRunsWhenRejected(); + } + + public Boolean isRejectExecution() { + return throttler.isRejectExecution(); } } http://git-wip-us.apache.org/repos/asf/camel/blob/cfce63df/camel-core/src/main/java/org/apache/camel/model/ThrottleDefinition.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/model/ThrottleDefinition.java b/camel-core/src/main/java/org/apache/camel/model/ThrottleDefinition.java index eb560e7..022adcb 100644 --- a/camel-core/src/main/java/org/apache/camel/model/ThrottleDefinition.java +++ b/camel-core/src/main/java/org/apache/camel/model/ThrottleDefinition.java @@ -153,7 +153,7 @@ public class ThrottleDefinition extends ExpressionNode implements ExecutorServic } /** - * Enables asynchronous delay which means the thread will <b>no</b> block while delaying. + * Enables asynchronous delay which means the thread will <b>not</b> block while delaying. * * @return the builder */