You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/08/05 15:47:20 UTC

camel git commit: CAMEL-9056: Aggregator - Allow to clear closed correlation key cache

Repository: camel
Updated Branches:
  refs/heads/master 47c64ec9c -> 7eef37262


CAMEL-9056: Aggregator - Allow to clear closed correlation key cache


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7eef3726
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7eef3726
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7eef3726

Branch: refs/heads/master
Commit: 7eef37262ada1824adaa647bc3c2aadf139e66e3
Parents: 47c64ec
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Aug 5 15:51:58 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Aug 5 15:51:58 2015 +0200

----------------------------------------------------------------------
 .../mbean/ManagedAggregateProcessorMBean.java   |  8 +++++++-
 .../mbean/ManagedAggregateProcessor.java        |  9 ++++++++-
 .../processor/aggregate/AggregateProcessor.java | 20 ++++++++++++++++++++
 3 files changed, 35 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7eef3726/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedAggregateProcessorMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedAggregateProcessorMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedAggregateProcessorMBean.java
index 845d6c7..07c1d21 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedAggregateProcessorMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedAggregateProcessorMBean.java
@@ -54,7 +54,7 @@ public interface ManagedAggregateProcessorMBean extends ManagedProcessorMBean {
     @ManagedAttribute(description = "Ignore invalid correlation keys")
     boolean isIgnoreInvalidCorrelationKeys();
 
-    @ManagedAttribute(description = "Whether to close the correlation group on completion")
+    @ManagedAttribute(description = "Whether to close the correlation group on completion if this value is > 0.")
     Integer getCloseCorrelationKeyOnCompletion();
 
     @ManagedAttribute(description = "Parallel mode")
@@ -90,6 +90,12 @@ public interface ManagedAggregateProcessorMBean extends ManagedProcessorMBean {
     @ManagedOperation(description = "To force complete of all groups")
     int forceCompletionOfAllGroups();
 
+    @ManagedAttribute(description = "Current number of closed correlation keys in the memory cache")
+    int getClosedCorrelationKeysCacheSize();
+
+    @ManagedOperation(description = "Clear all the closed correlation keys stored in the cache")
+    void clearClosedCorrelationKeysCache();
+
     @ManagedAttribute(description = "Total number of exchanges arrived into the aggregator")
     long getTotalIn();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/7eef3726/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedAggregateProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedAggregateProcessor.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedAggregateProcessor.java
index 2531332..a00c63e 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedAggregateProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedAggregateProcessor.java
@@ -22,7 +22,6 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedAggregateProcessorMBean;
 import org.apache.camel.model.AggregateDefinition;
-import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.processor.aggregate.AggregateProcessor;
 import org.apache.camel.spi.ManagementStrategy;
 
@@ -189,6 +188,14 @@ public class ManagedAggregateProcessor extends ManagedProcessor implements Manag
         }
     }
 
+    public int getClosedCorrelationKeysCacheSize() {
+        return processor.getClosedCorrelationKeysCacheSize();
+    }
+
+    public void clearClosedCorrelationKeysCache() {
+        processor.clearClosedCorrelationKeysCache();
+    }
+
     public long getTotalIn() {
         return processor.getStatistics().getTotalIn();
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7eef3726/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
index d08cfd9..4e0dbca 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
@@ -783,6 +783,26 @@ public class AggregateProcessor extends ServiceSupport implements AsyncProcessor
         timeoutMap.put(key, exchange.getExchangeId(), timeout);
     }
 
+    /**
+     * Current number of closed correlation keys in the memory cache
+     */
+    public int getClosedCorrelationKeysCacheSize() {
+        if (closedCorrelationKeys != null) {
+            return closedCorrelationKeys.size();
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * Clear all the closed correlation keys stored in the cache
+     */
+    public void clearClosedCorrelationKeysCache() {
+        if (closedCorrelationKeys != null) {
+            closedCorrelationKeys.clear();
+        }
+    }
+
     public AggregateProcessorStatistics getStatistics() {
         return statistics;
     }