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 2022/04/06 12:03:46 UTC
[camel] 03/03: CAMEL-16834: error handler in model DSL. WIP
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch errorhandler-in-dsl
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5718794fcb7a039a033101278c5837a6a17fc16b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Apr 6 14:03:23 2022 +0200
CAMEL-16834: error handler in model DSL. WIP
---
.../camel/spring/xml/handler/CamelNamespaceHandler.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/components/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java b/components/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
index e1af65155c5..366c440fe63 100644
--- a/components/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
+++ b/components/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
@@ -32,11 +32,18 @@ import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import org.apache.camel.builder.DeadLetterChannelBuilder;
+import org.apache.camel.builder.DefaultErrorHandlerBuilder;
+import org.apache.camel.builder.NoErrorHandlerBuilder;
import org.apache.camel.core.xml.CamelJMXAgentDefinition;
import org.apache.camel.core.xml.CamelPropertyPlaceholderDefinition;
import org.apache.camel.core.xml.CamelRouteControllerDefinition;
import org.apache.camel.core.xml.CamelStreamCachingStrategyDefinition;
import org.apache.camel.impl.engine.DefaultCamelContextNameStrategy;
+import org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier;
+import org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier;
+import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
+import org.apache.camel.reifier.errorhandler.NoErrorHandlerReifier;
import org.apache.camel.spi.CamelContextNameStrategy;
import org.apache.camel.spi.NamespaceAware;
import org.apache.camel.spring.xml.CamelBeanPostProcessor;
@@ -74,6 +81,14 @@ import org.springframework.beans.factory.xml.ParserContext;
* Camel namespace for the spring XML configuration file.
*/
public class CamelNamespaceHandler extends NamespaceHandlerSupport {
+
+ static {
+ // legacy camel-spring-xml error-handling using its own model and parsers
+ ErrorHandlerReifier.registerReifier(DeadLetterChannelBuilder.class, DeadLetterChannelReifier::new);
+ ErrorHandlerReifier.registerReifier(DefaultErrorHandlerBuilder.class, DefaultErrorHandlerReifier::new);
+ ErrorHandlerReifier.registerReifier(NoErrorHandlerBuilder.class, NoErrorHandlerReifier::new);
+ }
+
private static final String SPRING_NS = "http://camel.apache.org/schema/spring";
private static final Logger LOG = LoggerFactory.getLogger(CamelNamespaceHandler.class);
protected BeanDefinitionParser endpointParser = new EndpointDefinitionParser();