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/07/22 11:23:50 UTC

[1/5] camel git commit: CAMEL-8526: Add more EIP as specialized mbeans

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 <da...@apache.org>
Authored: Wed Jul 22 10:36:59 2015 +0200
Committer: Claus Ibsen <da...@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;
     }


[5/5] camel git commit: CAMEL-8526: Add more EIP as specialized mbeans

Posted by da...@apache.org.
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/0b246429
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0b246429
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0b246429

Branch: refs/heads/master
Commit: 0b246429b8b7594bf4ef0e099f35e2254ef92e4f
Parents: 10af880
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Jul 22 11:20:02 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jul 22 11:20:02 2015 +0200

----------------------------------------------------------------------
 .../mbean/ManagedThrowExceptionMBean.java       | 29 +++++++++++
 .../DefaultManagementObjectStrategy.java        |  4 ++
 .../management/mbean/ManagedThrowException.java | 53 ++++++++++++++++++++
 3 files changed, 86 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/0b246429/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrowExceptionMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrowExceptionMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrowExceptionMBean.java
new file mode 100644
index 0000000..8571b9f
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThrowExceptionMBean.java
@@ -0,0 +1,29 @@
+/**
+ * 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 ManagedThrowExceptionMBean extends ManagedProcessorMBean {
+
+    @ManagedAttribute(description = "To create a new exception instance and use the given message as caused message (supports simple language)")
+    String getMessage();
+
+    @ManagedAttribute(description = "The class of the exception to create using the message")
+    String getExceptionType();
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/0b246429/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 1704715..b20525f 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
@@ -80,6 +80,7 @@ import org.apache.camel.management.mbean.ManagedThreadPool;
 import org.apache.camel.management.mbean.ManagedThreads;
 import org.apache.camel.management.mbean.ManagedThrottler;
 import org.apache.camel.management.mbean.ManagedThroughputLogger;
+import org.apache.camel.management.mbean.ManagedThrowException;
 import org.apache.camel.management.mbean.ManagedTransformer;
 import org.apache.camel.management.mbean.ManagedValidate;
 import org.apache.camel.management.mbean.ManagedWireTapProcessor;
@@ -121,6 +122,7 @@ import org.apache.camel.processor.StreamResequencer;
 import org.apache.camel.processor.ThreadsProcessor;
 import org.apache.camel.processor.Throttler;
 import org.apache.camel.processor.ThroughputLogger;
+import org.apache.camel.processor.ThrowExceptionProcessor;
 import org.apache.camel.processor.TransformProcessor;
 import org.apache.camel.processor.WireTapProcessor;
 import org.apache.camel.processor.aggregate.AggregateProcessor;
@@ -307,6 +309,8 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
                 answer = new ManagedStop(context, (StopProcessor) target, definition);
             } else if (target instanceof ThreadsProcessor) {
                 answer = new ManagedThreads(context, (ThreadsProcessor) target, definition);
+            } else if (target instanceof ThrowExceptionProcessor) {
+                answer = new ManagedThrowException(context, (ThrowExceptionProcessor) target, definition);
             } else if (target instanceof TransformProcessor) {
                 answer = new ManagedTransformer(context, (TransformProcessor) target, definition);
             } else if (target instanceof PredicateValidatingProcessor) {

http://git-wip-us.apache.org/repos/asf/camel/blob/0b246429/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrowException.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrowException.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrowException.java
new file mode 100644
index 0000000..ee23988
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThrowException.java
@@ -0,0 +1,53 @@
+/**
+ * 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.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedThrowExceptionMBean;
+import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.processor.ThrowExceptionProcessor;
+import org.apache.camel.util.ObjectHelper;
+
+/**
+ * @version 
+ */
+@ManagedResource(description = "Managed ThrowException")
+public class ManagedThrowException extends ManagedProcessor implements ManagedThrowExceptionMBean {
+    private final ThrowExceptionProcessor processor;
+
+    public ManagedThrowException(CamelContext context, ThrowExceptionProcessor processor, ProcessorDefinition<?> definition) {
+        super(context, processor, definition);
+        this.processor = processor;
+    }
+
+    @Override
+    public String getMessage() {
+        return processor.getMessage();
+    }
+
+    @Override
+    public String getExceptionType() {
+        if (processor.getType() != null) {
+            return ObjectHelper.name(processor.getType());
+        } else if (processor.getException() != null) {
+            return ObjectHelper.className(processor.getException());
+        } else {
+            return null;
+        }
+    }
+}


[4/5] camel git commit: CAMEL-8526: Add more EIP as specialized mbeans

Posted by da...@apache.org.
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/10af8802
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/10af8802
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/10af8802

Branch: refs/heads/master
Commit: 10af88022d486acafd7b6999d29b9c6e7864374a
Parents: 687eda1
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Jul 22 10:53:44 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jul 22 10:53:44 2015 +0200

----------------------------------------------------------------------
 .../api/management/mbean/ManagedStopMBean.java  | 21 +++++++++++
 .../DefaultManagementObjectStrategy.java        |  4 +++
 .../camel/management/mbean/ManagedStop.java     | 37 ++++++++++++++++++++
 3 files changed, 62 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/10af8802/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedStopMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedStopMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedStopMBean.java
new file mode 100644
index 0000000..c1fdab5
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedStopMBean.java
@@ -0,0 +1,21 @@
+/**
+ * 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;
+
+public interface ManagedStopMBean extends ManagedProcessorMBean {
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/10af8802/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 12fbff1..1704715 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
@@ -74,6 +74,7 @@ import org.apache.camel.management.mbean.ManagedSetExchangePattern;
 import org.apache.camel.management.mbean.ManagedSetHeader;
 import org.apache.camel.management.mbean.ManagedSetProperty;
 import org.apache.camel.management.mbean.ManagedSplitter;
+import org.apache.camel.management.mbean.ManagedStop;
 import org.apache.camel.management.mbean.ManagedSuspendableRoute;
 import org.apache.camel.management.mbean.ManagedThreadPool;
 import org.apache.camel.management.mbean.ManagedThreads;
@@ -115,6 +116,7 @@ import org.apache.camel.processor.SetBodyProcessor;
 import org.apache.camel.processor.SetHeaderProcessor;
 import org.apache.camel.processor.SetPropertyProcessor;
 import org.apache.camel.processor.Splitter;
+import org.apache.camel.processor.StopProcessor;
 import org.apache.camel.processor.StreamResequencer;
 import org.apache.camel.processor.ThreadsProcessor;
 import org.apache.camel.processor.Throttler;
@@ -301,6 +303,8 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
                 answer = new ManagedSetExchangePattern(context, (ExchangePatternProcessor) target, definition);
             } else if (target instanceof ScriptProcessor) {
                 answer = new ManagedScript(context, (ScriptProcessor) target, definition);
+            } else if (target instanceof StopProcessor) {
+                answer = new ManagedStop(context, (StopProcessor) target, definition);
             } else if (target instanceof ThreadsProcessor) {
                 answer = new ManagedThreads(context, (ThreadsProcessor) target, definition);
             } else if (target instanceof TransformProcessor) {

http://git-wip-us.apache.org/repos/asf/camel/blob/10af8802/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStop.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStop.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStop.java
new file mode 100644
index 0000000..8eff563
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedStop.java
@@ -0,0 +1,37 @@
+/**
+ * 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.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedStopMBean;
+import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.processor.StopProcessor;
+
+/**
+ * @version 
+ */
+@ManagedResource(description = "Managed Stop")
+public class ManagedStop extends ManagedProcessor implements ManagedStopMBean {
+    private final StopProcessor processor;
+
+    public ManagedStop(CamelContext context, StopProcessor processor, ProcessorDefinition<?> definition) {
+        super(context, processor, definition);
+        this.processor = processor;
+    }
+
+}


[3/5] camel git commit: CAMEL-8526: Add more EIP as specialized mbeans

Posted by da...@apache.org.
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/687eda14
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/687eda14
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/687eda14

Branch: refs/heads/master
Commit: 687eda147075ac10a4e0c9f1f9433e32119aa692
Parents: 9eadc03
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Jul 22 10:51:02 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jul 22 10:51:02 2015 +0200

----------------------------------------------------------------------
 .../management/mbean/ManagedScriptMBean.java    | 26 ++++++++++++
 .../mbean/ManagedSetExchangePatternMBean.java   | 26 ++++++++++++
 .../DefaultManagementObjectStrategy.java        |  8 ++++
 .../camel/management/mbean/ManagedScript.java   | 43 ++++++++++++++++++++
 .../mbean/ManagedSetExchangePattern.java        | 41 +++++++++++++++++++
 .../processor/ExchangePatternProcessor.java     |  4 ++
 6 files changed, 148 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/687eda14/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedScriptMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedScriptMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedScriptMBean.java
new file mode 100644
index 0000000..6397179
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedScriptMBean.java
@@ -0,0 +1,26 @@
+/**
+ * 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 ManagedScriptMBean extends ManagedProcessorMBean {
+
+    @ManagedAttribute(description = "Expression to return the transformed message body (the new message body to use)")
+    String getExpression();
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/687eda14/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSetExchangePatternMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSetExchangePatternMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSetExchangePatternMBean.java
new file mode 100644
index 0000000..6e9fdeb
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSetExchangePatternMBean.java
@@ -0,0 +1,26 @@
+/**
+ * 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 ManagedSetExchangePatternMBean extends ManagedProcessorMBean {
+
+    @ManagedAttribute(description = "the new exchange pattern of the Exchange to be used from this point forward")
+    String getPattern();
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/687eda14/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 2f5ad21..12fbff1 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
@@ -65,10 +65,12 @@ import org.apache.camel.management.mbean.ManagedRoute;
 import org.apache.camel.management.mbean.ManagedRoutingSlip;
 import org.apache.camel.management.mbean.ManagedSamplingThrottler;
 import org.apache.camel.management.mbean.ManagedScheduledPollConsumer;
+import org.apache.camel.management.mbean.ManagedScript;
 import org.apache.camel.management.mbean.ManagedSendDynamicProcessor;
 import org.apache.camel.management.mbean.ManagedSendProcessor;
 import org.apache.camel.management.mbean.ManagedService;
 import org.apache.camel.management.mbean.ManagedSetBody;
+import org.apache.camel.management.mbean.ManagedSetExchangePattern;
 import org.apache.camel.management.mbean.ManagedSetHeader;
 import org.apache.camel.management.mbean.ManagedSetProperty;
 import org.apache.camel.management.mbean.ManagedSplitter;
@@ -90,6 +92,7 @@ import org.apache.camel.processor.Delayer;
 import org.apache.camel.processor.DynamicRouter;
 import org.apache.camel.processor.Enricher;
 import org.apache.camel.processor.ErrorHandler;
+import org.apache.camel.processor.ExchangePatternProcessor;
 import org.apache.camel.processor.FilterProcessor;
 import org.apache.camel.processor.LogProcessor;
 import org.apache.camel.processor.LoopProcessor;
@@ -105,6 +108,7 @@ import org.apache.camel.processor.Resequencer;
 import org.apache.camel.processor.RollbackProcessor;
 import org.apache.camel.processor.RoutingSlip;
 import org.apache.camel.processor.SamplingThrottler;
+import org.apache.camel.processor.ScriptProcessor;
 import org.apache.camel.processor.SendDynamicProcessor;
 import org.apache.camel.processor.SendProcessor;
 import org.apache.camel.processor.SetBodyProcessor;
@@ -293,6 +297,10 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
                 answer = new ManagedRemoveProperties(context, (RemovePropertiesProcessor) target, definition);
             } else if (target instanceof SetPropertyProcessor) {
                 answer = new ManagedSetProperty(context, (SetPropertyProcessor) target, definition);
+            } else if (target instanceof ExchangePatternProcessor) {
+                answer = new ManagedSetExchangePattern(context, (ExchangePatternProcessor) target, definition);
+            } else if (target instanceof ScriptProcessor) {
+                answer = new ManagedScript(context, (ScriptProcessor) target, definition);
             } else if (target instanceof ThreadsProcessor) {
                 answer = new ManagedThreads(context, (ThreadsProcessor) target, definition);
             } else if (target instanceof TransformProcessor) {

http://git-wip-us.apache.org/repos/asf/camel/blob/687eda14/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScript.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScript.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScript.java
new file mode 100644
index 0000000..74e1a85
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedScript.java
@@ -0,0 +1,43 @@
+/**
+ * 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.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedScriptMBean;
+import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.processor.ScriptProcessor;
+
+/**
+ * @version 
+ */
+@ManagedResource(description = "Managed Script")
+public class ManagedScript extends ManagedProcessor implements ManagedScriptMBean {
+    private final ScriptProcessor processor;
+    private final String expression;
+
+    public ManagedScript(CamelContext context, ScriptProcessor processor, ProcessorDefinition<?> definition) {
+        super(context, processor, definition);
+        this.processor = processor;
+        this.expression = processor.getExpression().toString();
+    }
+
+    @Override
+    public String getExpression() {
+        return expression;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/687eda14/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSetExchangePattern.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSetExchangePattern.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSetExchangePattern.java
new file mode 100644
index 0000000..204c901
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSetExchangePattern.java
@@ -0,0 +1,41 @@
+/**
+ * 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.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedSetExchangePatternMBean;
+import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.processor.ExchangePatternProcessor;
+
+/**
+ * @version 
+ */
+@ManagedResource(description = "Managed SetExchangePattern")
+public class ManagedSetExchangePattern extends ManagedProcessor implements ManagedSetExchangePatternMBean {
+    private final ExchangePatternProcessor processor;
+
+    public ManagedSetExchangePattern(CamelContext context, ExchangePatternProcessor processor, ProcessorDefinition<?> definition) {
+        super(context, processor, definition);
+        this.processor = processor;
+    }
+
+    @Override
+    public String getPattern() {
+        return processor.getExchangePattern().name();
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/687eda14/camel-core/src/main/java/org/apache/camel/processor/ExchangePatternProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/ExchangePatternProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/ExchangePatternProcessor.java
index 9ff313b..596cc55 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/ExchangePatternProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/ExchangePatternProcessor.java
@@ -50,6 +50,10 @@ public class ExchangePatternProcessor extends ServiceSupport implements AsyncPro
         this.id = id;
     }
 
+    public ExchangePattern getExchangePattern() {
+        return exchangePattern;
+    }
+
     public void process(Exchange exchange) throws Exception {
         AsyncProcessorHelper.process(this, exchange);
     }


[2/5] camel git commit: CAMEL-8526: Add more EIP as specialized mbeans

Posted by da...@apache.org.
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/9eadc03d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9eadc03d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9eadc03d

Branch: refs/heads/master
Commit: 9eadc03d4139596c85ffbdcdbd247ddb62fad808
Parents: 93c30b8
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Jul 22 10:44:53 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jul 22 10:44:53 2015 +0200

----------------------------------------------------------------------
 .../management/mbean/ManagedRollbackMBean.java  | 32 ++++++++++++
 .../DefaultManagementObjectStrategy.java        |  4 ++
 .../camel/management/mbean/ManagedRollback.java | 51 ++++++++++++++++++++
 3 files changed, 87 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/9eadc03d/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRollbackMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRollbackMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRollbackMBean.java
new file mode 100644
index 0000000..481a16a
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRollbackMBean.java
@@ -0,0 +1,32 @@
+/**
+ * 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 ManagedRollbackMBean extends ManagedProcessorMBean {
+
+    @ManagedAttribute(description = "Message to use in rollback exception")
+    String getMessage();
+
+    @ManagedAttribute(description = "Mark the transaction for rollback only (cannot be overruled to commit)")
+    Boolean isMarkRollbackOnly();
+
+    @ManagedAttribute(description = "Mark only last sub transaction for rollback only")
+    Boolean isMarkRollbackOnlyLast();
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/9eadc03d/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 c049d43..2f5ad21 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
@@ -60,6 +60,7 @@ import org.apache.camel.management.mbean.ManagedRemoveHeaders;
 import org.apache.camel.management.mbean.ManagedRemoveProperties;
 import org.apache.camel.management.mbean.ManagedRemoveProperty;
 import org.apache.camel.management.mbean.ManagedResequencer;
+import org.apache.camel.management.mbean.ManagedRollback;
 import org.apache.camel.management.mbean.ManagedRoute;
 import org.apache.camel.management.mbean.ManagedRoutingSlip;
 import org.apache.camel.management.mbean.ManagedSamplingThrottler;
@@ -101,6 +102,7 @@ import org.apache.camel.processor.RemoveHeadersProcessor;
 import org.apache.camel.processor.RemovePropertiesProcessor;
 import org.apache.camel.processor.RemovePropertyProcessor;
 import org.apache.camel.processor.Resequencer;
+import org.apache.camel.processor.RollbackProcessor;
 import org.apache.camel.processor.RoutingSlip;
 import org.apache.camel.processor.SamplingThrottler;
 import org.apache.camel.processor.SendDynamicProcessor;
@@ -273,6 +275,8 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
                 answer = new ManagedSamplingThrottler(context, (SamplingThrottler) target, definition);
             } else if (target instanceof Resequencer) {
                 answer = new ManagedResequencer(context, (Resequencer) target, definition);
+            } else if (target instanceof RollbackProcessor) {
+                answer = new ManagedRollback(context, (RollbackProcessor) target, definition);
             } else if (target instanceof StreamResequencer) {
                 answer = new ManagedResequencer(context, (StreamResequencer) target, definition);
             } else if (target instanceof SetBodyProcessor) {

http://git-wip-us.apache.org/repos/asf/camel/blob/9eadc03d/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRollback.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRollback.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRollback.java
new file mode 100644
index 0000000..6342590
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRollback.java
@@ -0,0 +1,51 @@
+/**
+ * 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.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedRollbackMBean;
+import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.processor.RollbackProcessor;
+
+/**
+ * @version 
+ */
+@ManagedResource(description = "Managed Rollback")
+public class ManagedRollback extends ManagedProcessor implements ManagedRollbackMBean {
+    private final RollbackProcessor processor;
+
+    public ManagedRollback(CamelContext context, RollbackProcessor processor, ProcessorDefinition<?> definition) {
+        super(context, processor, definition);
+        this.processor = processor;
+    }
+
+    @Override
+    public String getMessage() {
+        return processor.getMessage();
+    }
+
+    @Override
+    public Boolean isMarkRollbackOnly() {
+        return processor.isMarkRollbackOnly();
+    }
+
+    @Override
+    public Boolean isMarkRollbackOnlyLast() {
+        return processor.isMarkRollbackOnlyLast();
+    }
+}