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;
     }