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();
+ }
+}