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
      */

Reply via email to