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 2009/09/08 13:21:17 UTC
svn commit: r812464 - in
/camel/trunk/camel-core/src/main/java/org/apache/camel:
management/mbean/ManagedErrorHandler.java processor/DeadLetterChannel.java
processor/RedeliveryErrorHandler.java
Author: davsclaus
Date: Tue Sep 8 11:21:17 2009
New Revision: 812464
URL: http://svn.apache.org/viewvc?rev=812464&view=rev
Log:
CAMEL-1996: Added more attributes for managed error handlers.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java?rev=812464&r1=812463&r2=812464&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java Tue Sep 8 11:21:17 2009
@@ -19,6 +19,7 @@
import org.apache.camel.LoggingLevel;
import org.apache.camel.Processor;
import org.apache.camel.builder.ErrorHandlerBuilder;
+import org.apache.camel.processor.ErrorHandlerSupport;
import org.apache.camel.processor.RedeliveryErrorHandler;
import org.apache.camel.spi.RouteContext;
import org.springframework.jmx.export.annotation.ManagedAttribute;
@@ -62,6 +63,46 @@
return errorHandler instanceof RedeliveryErrorHandler;
}
+ @ManagedAttribute(description = "Is this error handler a dead letter channel")
+ public boolean isDeadLetterChannel() {
+ if (!isSupportRedelivery()) {
+ return false;
+ }
+
+ RedeliveryErrorHandler redelivery = (RedeliveryErrorHandler) errorHandler;
+ return redelivery.getDeadLetter() != null;
+ }
+
+ @ManagedAttribute(description = "When a message is moved to dead letter channel is it the original message or recent message")
+ public boolean isDeadLetterUseOriginalMessage() {
+ if (!isSupportRedelivery()) {
+ return false;
+ }
+
+ RedeliveryErrorHandler redelivery = (RedeliveryErrorHandler) errorHandler;
+ return redelivery.isUseOriginalMessagePolicy();
+ }
+
+ @ManagedAttribute(description = "Does this error handler support transactions")
+ public boolean isSupportTransactions() {
+ if (errorHandler instanceof ErrorHandlerSupport) {
+ ErrorHandlerSupport ehs = (ErrorHandlerSupport) errorHandler;
+ return ehs.supportTransacted();
+ } else {
+ return false;
+ }
+ }
+
+ @ManagedAttribute(description = "Endpoint Uri for the dead letter channel where dead message is move to")
+ public String getDeadLetterChannelEndpointUri() {
+ if (!isSupportRedelivery()) {
+ return null;
+ }
+
+ RedeliveryErrorHandler redelivery = (RedeliveryErrorHandler) errorHandler;
+ return redelivery.getDeadLetterUri();
+ }
+
@ManagedAttribute(description = "RedeliveryPolicy for maximum redeliveries")
public Integer getMaximumRedeliveries() {
if (!isSupportRedelivery()) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java?rev=812464&r1=812463&r2=812464&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java Tue Sep 8 11:21:17 2009
@@ -52,14 +52,14 @@
}
public void process(Exchange exchange) throws Exception {
- // just to let the stacktrace reveal that this is a dead letter channel
+ // just to let the stack trace reveal that this is a dead letter channel
super.process(exchange);
}
@Override
public String toString() {
if (output == null) {
- // if no output then dont do any description
+ // if no output then don't do any description
return "";
}
return "DeadLetterChannel[" + output + ", " + (deadLetterUri != null ? deadLetterUri : deadLetter) + "]";
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java?rev=812464&r1=812463&r2=812464&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java Tue Sep 8 11:21:17 2009
@@ -216,6 +216,14 @@
return deadLetter;
}
+ public String getDeadLetterUri() {
+ return deadLetterUri;
+ }
+
+ public boolean isUseOriginalMessagePolicy() {
+ return useOriginalMessagePolicy;
+ }
+
public RedeliveryPolicy getRedeliveryPolicy() {
return redeliveryPolicy;
}