Repository: camel
Updated Branches:
  refs/heads/master 473d1b28b -> 0b246429b


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/93c30b89
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/93c30b89
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/93c30b89

Branch: refs/heads/master
Commit: 93c30b89166a3f9ea17d4c57057acfb7eb4a8778
Parents: 473d1b2
Author: Claus Ibsen <davscl...@apache.org>
Authored: Wed Jul 22 10:36:59 2015 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Jul 22 10:36:59 2015 +0200

----------------------------------------------------------------------
 .../mbean/ManagedIdempotentConsumerMBean.java   | 13 +++++
 .../api/management/mbean/ManagedLogMBean.java   | 35 ++++++++++++
 .../DefaultManagementObjectStrategy.java        |  4 ++
 .../mbean/ManagedIdempotentConsumer.java        | 20 +++++++
 .../camel/management/mbean/ManagedLog.java      | 60 ++++++++++++++++++++
 .../apache/camel/processor/LogProcessor.java    |  8 +++
 .../idempotent/IdempotentConsumer.java          | 16 ++++++
 .../java/org/apache/camel/util/CamelLogger.java |  4 ++
 8 files changed, 160 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedIdempotentConsumerMBean.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedIdempotentConsumerMBean.java
 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedIdempotentConsumerMBean.java
index 5001486..4b2cd11 100644
--- 
a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedIdempotentConsumerMBean.java
+++ 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedIdempotentConsumerMBean.java
@@ -21,6 +21,18 @@ import org.apache.camel.api.management.ManagedOperation;
 
 public interface ManagedIdempotentConsumerMBean extends ManagedProcessorMBean {
 
+    @ManagedAttribute(description = "Whether to eagerly add the key to the 
idempotent repository or wait until the exchange is complete")
+    Boolean isEager();
+
+    @ManagedAttribute(description = "Whether to complete the idempotent 
consumer eager or when the exchange is done")
+    Boolean isCompletionEager();
+
+    @ManagedAttribute(description = "whether to skip duplicates or not")
+    Boolean isSkipDuplicate();
+
+    @ManagedAttribute(description = "whether to remove or keep the key on 
failure")
+    Boolean isRemoveOnFailure();
+
     @ManagedAttribute(description = "Current count of duplicate Messages")
     long getDuplicateMessageCount();
 
@@ -29,4 +41,5 @@ public interface ManagedIdempotentConsumerMBean extends 
ManagedProcessorMBean {
     
     @ManagedOperation(description = "Clear the repository containing Messages")
     void clear();
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedLogMBean.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedLogMBean.java
 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedLogMBean.java
new file mode 100644
index 0000000..3915535
--- /dev/null
+++ 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedLogMBean.java
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.api.management.mbean;
+
+import org.apache.camel.api.management.ManagedAttribute;
+
+public interface ManagedLogMBean extends ManagedProcessorMBean {
+
+    @ManagedAttribute(description = "The log message (uses simple language)")
+    String getMessage();
+
+    @ManagedAttribute(description = "The logging level")
+    String getLoggingLevel();
+
+    @ManagedAttribute(description = "The name of the logger")
+    String getLogName();
+
+    @ManagedAttribute(description = "To use slf4j marker")
+    String getMarker();
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index a86f6c2..c049d43 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -47,6 +47,7 @@ import org.apache.camel.management.mbean.ManagedErrorHandler;
 import org.apache.camel.management.mbean.ManagedEventNotifier;
 import org.apache.camel.management.mbean.ManagedFilter;
 import org.apache.camel.management.mbean.ManagedIdempotentConsumer;
+import org.apache.camel.management.mbean.ManagedLog;
 import org.apache.camel.management.mbean.ManagedLoop;
 import org.apache.camel.management.mbean.ManagedMulticast;
 import org.apache.camel.management.mbean.ManagedPollEnricher;
@@ -89,6 +90,7 @@ import org.apache.camel.processor.DynamicRouter;
 import org.apache.camel.processor.Enricher;
 import org.apache.camel.processor.ErrorHandler;
 import org.apache.camel.processor.FilterProcessor;
+import org.apache.camel.processor.LogProcessor;
 import org.apache.camel.processor.LoopProcessor;
 import org.apache.camel.processor.MulticastProcessor;
 import org.apache.camel.processor.Pipeline;
@@ -257,6 +259,8 @@ public class DefaultManagementObjectStrategy implements 
ManagementObjectStrategy
                 answer = new ManagedRoutingSlip(context, (RoutingSlip) target, 
definition);
             } else if (target instanceof FilterProcessor) {
                 answer = new ManagedFilter(context, (FilterProcessor) target, 
definition);
+            } else if (target instanceof LogProcessor) {
+                answer = new ManagedLog(context, (LogProcessor) target, 
definition);
             } else if (target instanceof LoopProcessor) {
                 answer = new ManagedLoop(context, (LoopProcessor) target, 
definition);
             } else if (target instanceof RecipientList) {

http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedIdempotentConsumer.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedIdempotentConsumer.java
 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedIdempotentConsumer.java
index f1e5170..c74ca08 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedIdempotentConsumer.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedIdempotentConsumer.java
@@ -35,6 +35,26 @@ public class ManagedIdempotentConsumer extends 
ManagedProcessor implements Manag
     }
 
     @Override
+    public Boolean isEager() {
+        return getProcessor().isEager();
+    }
+
+    @Override
+    public Boolean isCompletionEager() {
+        return getProcessor().isCompletionEager();
+    }
+
+    @Override
+    public Boolean isSkipDuplicate() {
+        return getProcessor().isSkipDuplicate();
+    }
+
+    @Override
+    public Boolean isRemoveOnFailure() {
+        return getProcessor().isRemoveOnFailure();
+    }
+
+    @Override
     public long getDuplicateMessageCount() {
         return getProcessor().getDuplicateMessageCount();
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedLog.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedLog.java 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedLog.java
new file mode 100644
index 0000000..242e9d0
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedLog.java
@@ -0,0 +1,60 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.management.mbean;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.LoggingLevel;
+import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedLogMBean;
+import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.processor.LogProcessor;
+import org.slf4j.Marker;
+
+/**
+ * @version 
+ */
+@ManagedResource(description = "Managed Log")
+public class ManagedLog extends ManagedProcessor implements ManagedLogMBean {
+    private final LogProcessor processor;
+
+    public ManagedLog(CamelContext context, LogProcessor processor, 
ProcessorDefinition<?> definition) {
+        super(context, processor, definition);
+        this.processor = processor;
+    }
+
+    @Override
+    public String getMessage() {
+        return processor.getExpression().toString();
+    }
+
+    @Override
+    public String getLoggingLevel() {
+        LoggingLevel level = processor.getLogger().getLevel();
+        return level != null ? level.name() : null;
+    }
+
+    @Override
+    public String getLogName() {
+        return processor.getLogger().getLog().getName();
+    }
+
+    @Override
+    public String getMarker() {
+        Marker marker = processor.getLogger().getMarker();
+        return marker != null ? marker.getName() : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java 
b/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java
index 6038825..2304afc 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java
@@ -79,6 +79,14 @@ public class LogProcessor extends ServiceSupport implements 
AsyncProcessor, Trac
         this.id = id;
     }
 
+    public Expression getExpression() {
+        return expression;
+    }
+
+    public CamelLogger getLogger() {
+        return logger;
+    }
+
     @Override
     protected void doStart() throws Exception {
         // noop

http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
 
b/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
index 1faab20..e28a214 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
@@ -184,6 +184,22 @@ public class IdempotentConsumer extends ServiceSupport 
implements AsyncProcessor
         ServiceHelper.stopServices(processor);
     }
 
+    public boolean isEager() {
+        return eager;
+    }
+
+    public boolean isCompletionEager() {
+        return completionEager;
+    }
+
+    public boolean isSkipDuplicate() {
+        return skipDuplicate;
+    }
+
+    public boolean isRemoveOnFailure() {
+        return removeOnFailure;
+    }
+
     /**
      * Resets the duplicate message counter to <code>0L</code>.
      */

http://git-wip-us.apache.org/repos/asf/camel/blob/93c30b89/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java 
b/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java
index 1787bd7..65b9683 100644
--- a/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java
+++ b/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java
@@ -131,6 +131,10 @@ public class CamelLogger {
         this.log = LoggerFactory.getLogger(logName);
     }
 
+    public Marker getMarker() {
+        return marker;
+    }
+
     public void setMarker(Marker marker) {
         this.marker = marker;
     }

Reply via email to