You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/02/14 12:54:03 UTC

[camel] 18/23: CAMEL-15105: adapt and cleanup camel-components to the new extension interface

This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a3c41472a7db347ff2071ecec898cb9a57a3b98e
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Tue Nov 22 18:41:22 2022 +0100

    CAMEL-15105: adapt and cleanup camel-components to the new extension interface
---
 .../camel/attachment/DefaultAttachmentMessage.java | 31 +++++++++++-----------
 .../aggregate/cassandra/CassandraCamelCodec.java   |  3 +--
 .../language/csimple/joor/OriginalSimpleTest.java  | 10 +++++--
 .../component/directvm/DirectVmProcessor.java      |  1 -
 .../component/disruptor/DisruptorProducer.java     |  1 -
 .../org/apache/camel/component/jpa/JpaHelper.java  |  3 +--
 .../faulttolerance/FaultToleranceProcessor.java    |  3 +--
 .../component/netty/http/NettyHttpProducer.java    |  3 +--
 .../apache/camel/pgevent/PgEventConsumerTest.java  |  8 +++---
 .../http/vertx/VertxPlatformHttpConsumer.java      |  3 +--
 .../http/JettyCustomPlatformHttpConsumer.java      |  3 +--
 .../apache/camel/component/seda/SedaConsumer.java  |  3 +--
 .../spring/ws/SpringWebserviceConsumer.java        |  3 +--
 .../aggregate/tarfile/TarAggregationStrategy.java  |  3 +--
 .../aggregate/zipfile/ZipAggregationStrategy.java  |  3 +--
 .../jetty/JettySimulateFailoverRoundRobinTest.java |  1 -
 16 files changed, 38 insertions(+), 44 deletions(-)

diff --git a/components/camel-attachments/src/main/java/org/apache/camel/attachment/DefaultAttachmentMessage.java b/components/camel-attachments/src/main/java/org/apache/camel/attachment/DefaultAttachmentMessage.java
index 37f6c2ba202..665b3d0bacb 100644
--- a/components/camel-attachments/src/main/java/org/apache/camel/attachment/DefaultAttachmentMessage.java
+++ b/components/camel-attachments/src/main/java/org/apache/camel/attachment/DefaultAttachmentMessage.java
@@ -24,7 +24,6 @@ import java.util.function.Supplier;
 import jakarta.activation.DataHandler;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.InvalidPayloadException;
 import org.apache.camel.Message;
 
@@ -37,11 +36,11 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     private static final String ATTACHMENT_OBJECTS = "CamelAttachmentObjects";
 
     private final Message delegate;
-    private final ExtendedExchange extendedExchange;
+    private final Exchange exchange;
 
     public DefaultAttachmentMessage(Message delegate) {
         this.delegate = delegate;
-        this.extendedExchange = delegate.getExchange().adapt(ExtendedExchange.class);
+        this.exchange = delegate.getExchange();
     }
 
     @Override
@@ -187,7 +186,7 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public DataHandler getAttachment(String id) {
-        AttachmentMap map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
+        AttachmentMap map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
         if (map != null) {
             Attachment att = map.get(id);
             if (att != null) {
@@ -200,7 +199,7 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public Attachment getAttachmentObject(String id) {
-        AttachmentMap map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
+        AttachmentMap map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
         if (map != null) {
             return map.get(id);
         }
@@ -210,7 +209,7 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public Set<String> getAttachmentNames() {
-        AttachmentMap map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
+        AttachmentMap map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
         if (map != null) {
             return map.keySet();
         }
@@ -220,7 +219,7 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public void removeAttachment(String id) {
-        AttachmentMap map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
+        AttachmentMap map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
         if (map != null) {
             map.remove(id);
         }
@@ -229,10 +228,10 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public void addAttachment(String id, DataHandler content) {
-        AttachmentMap map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
+        AttachmentMap map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
         if (map == null) {
             map = new AttachmentMap();
-            extendedExchange.setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
+            exchange.getExchangeExtension().setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
         }
         map.put(id, new DefaultAttachment(content));
     }
@@ -240,10 +239,10 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public void addAttachmentObject(String id, Attachment content) {
-        AttachmentMap map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
+        AttachmentMap map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
         if (map == null) {
             map = new AttachmentMap();
-            extendedExchange.setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
+            exchange.getExchangeExtension().setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
         }
         map.put(id, content);
     }
@@ -251,7 +250,7 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public Map<String, DataHandler> getAttachments() {
-        Map<String, Attachment> map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, Map.class);
+        Map<String, Attachment> map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, Map.class);
         if (map != null) {
             Map<String, DataHandler> answer = new LinkedHashMap<>();
             map.forEach((id, att) -> answer.put(id, att.getDataHandler()));
@@ -263,27 +262,27 @@ public final class DefaultAttachmentMessage implements AttachmentMessage {
     @Override
     @SuppressWarnings("unchecked")
     public Map<String, Attachment> getAttachmentObjects() {
-        return extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, Map.class);
+        return exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, Map.class);
     }
 
     @Override
     public void setAttachments(Map<String, DataHandler> attachments) {
         AttachmentMap map = new AttachmentMap();
         attachments.forEach((id, dh) -> map.put(id, new DefaultAttachment(dh)));
-        extendedExchange.setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
+        exchange.getExchangeExtension().setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
     }
 
     @Override
     public void setAttachmentObjects(Map<String, Attachment> attachments) {
         AttachmentMap map = new AttachmentMap();
         map.putAll(attachments);
-        extendedExchange.setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
+        exchange.getExchangeExtension().setSafeCopyProperty(ATTACHMENT_OBJECTS, map);
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public boolean hasAttachments() {
-        AttachmentMap map = extendedExchange.getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
+        AttachmentMap map = exchange.getExchangeExtension().getSafeCopyProperty(ATTACHMENT_OBJECTS, AttachmentMap.class);
         return map != null && !map.isEmpty();
     }
 
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java b/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
index b2bcfbf0b17..a4332a718a6 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/processor/aggregate/cassandra/CassandraCamelCodec.java
@@ -27,7 +27,6 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePropertyKey;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.support.DefaultExchange;
 import org.apache.camel.support.DefaultExchangeHolder;
 import org.apache.camel.util.ClassLoadingAwareObjectInputStream;
@@ -73,7 +72,7 @@ public class CassandraCamelCodec {
         if (fromEndpointUri != null) {
             Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
             if (fromEndpoint != null) {
-                answer.adapt(ExtendedExchange.class).setFromEndpoint(fromEndpoint);
+                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
             }
         }
         return answer;
diff --git a/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java b/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java
index e3fa5c63658..deac6f39f7b 100644
--- a/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java
+++ b/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java
@@ -34,7 +34,6 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.Expression;
 import org.apache.camel.ExpressionEvaluationException;
 import org.apache.camel.ExpressionIllegalSyntaxException;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.InvalidPayloadException;
 import org.apache.camel.Predicate;
 import org.apache.camel.component.bean.MethodNotFoundException;
@@ -49,7 +48,14 @@ import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.apache.camel.test.junit5.TestSupport.getJavaMajorVersion;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 @Disabled
 public class OriginalSimpleTest extends LanguageTestSupport {
diff --git a/components/camel-directvm/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java b/components/camel-directvm/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java
index 0d6c21a0a81..765af202daa 100644
--- a/components/camel-directvm/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java
+++ b/components/camel-directvm/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.directvm;
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePropertyKey;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorProducer.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorProducer.java
index b3533bdd1ee..49a41a59132 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorProducer.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorProducer.java
@@ -23,7 +23,6 @@ import com.lmax.disruptor.InsufficientCapacityException;
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeTimedOutException;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.WaitForTaskToComplete;
 import org.apache.camel.support.DefaultAsyncProducer;
 import org.apache.camel.support.ExchangeHelper;
diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaHelper.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaHelper.java
index 8b796e55681..26a49a83ed5 100644
--- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaHelper.java
+++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaHelper.java
@@ -23,7 +23,6 @@ import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.springframework.orm.jpa.SharedEntityManagerCreator;
 
 /**
@@ -113,7 +112,7 @@ public final class JpaHelper {
                     data.put(getKey(entityManagerFactory), em);
                 }
             }
-            exchange.adapt(ExtendedExchange.class).addOnCompletion(new JpaCloseEntityManagerOnCompletion(em));
+            exchange.getExchangeExtension().addOnCompletion(new JpaCloseEntityManagerOnCompletion(em));
         }
         return em;
     }
diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
index 30b8cc538d7..95dce1dbbf2 100644
--- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
+++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
@@ -39,7 +39,6 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePropertyKey;
 import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Navigate;
 import org.apache.camel.Processor;
 import org.apache.camel.Route;
@@ -431,7 +430,7 @@ public class FaultToleranceProcessor extends AsyncProcessorSupport
             Throwable cause;
 
             // turn of interruption to allow fault tolerance to process the exchange under its handling
-            exchange.adapt(ExtendedExchange.class).setInterruptable(false);
+            exchange.getExchangeExtension().setInterruptable(false);
 
             try {
                 LOG.debug("Running processor: {} with exchange: {}", processor, exchange);
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpProducer.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpProducer.java
index e615b624cd9..b86108e65b6 100644
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpProducer.java
+++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpProducer.java
@@ -27,7 +27,6 @@ import io.netty.handler.codec.http.HttpUtil;
 import io.netty.util.ReferenceCountUtil;
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.component.netty.NettyConfiguration;
 import org.apache.camel.component.netty.NettyProducer;
 import org.apache.camel.http.base.cookie.CookieHandler;
@@ -80,7 +79,7 @@ public class NettyHttpProducer extends NettyProducer {
     @Override
     public boolean process(Exchange exchange, AsyncCallback callback) {
         if (getConfiguration().isDisableStreamCache() || getConfiguration().isHttpProxy()) {
-            exchange.adapt(ExtendedExchange.class).setStreamCacheDisabled(true);
+            exchange.getExchangeExtension().setStreamCacheDisabled(true);
         }
 
         return super.process(exchange, new NettyHttpProducerCallback(exchange, callback, getConfiguration()));
diff --git a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java
index 196de5aa0e5..10e0f3e0afe 100644
--- a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java
+++ b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java
@@ -20,8 +20,9 @@ import java.sql.PreparedStatement;
 
 import com.impossibl.postgres.api.jdbc.PGConnection;
 import com.impossibl.postgres.jdbc.PGDataSource;
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangeExtension;
 import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.component.pgevent.PgEventConsumer;
@@ -99,7 +100,8 @@ public class PgEventConsumerTest {
     public void testPgEventNotification() throws Exception {
         PgEventEndpoint endpoint = mock(PgEventEndpoint.class);
         Processor processor = mock(Processor.class);
-        ExtendedExchange exchange = mock(ExtendedExchange.class);
+        Exchange exchange = mock(Exchange.class);
+        ExchangeExtension exchangeExtension = mock(ExchangeExtension.class);
         Message message = mock(Message.class);
         ExtendedCamelContext ecc = mock(ExtendedCamelContext.class);
         ExchangeFactory ef = mock(ExchangeFactory.class);
@@ -109,7 +111,7 @@ public class PgEventConsumerTest {
         when(ecc.getExchangeFactory()).thenReturn(ef);
         when(ef.newExchangeFactory(any())).thenReturn(ef);
         when(ef.create(endpoint, false)).thenReturn(exchange);
-        when(exchange.adapt(ExtendedExchange.class)).thenReturn(exchange);
+        when(exchange.getExchangeExtension()).thenReturn(exchangeExtension);
         when(exchange.getIn()).thenReturn(message);
 
         PgEventConsumer consumer = new PgEventConsumer(endpoint, processor);
diff --git a/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpConsumer.java b/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpConsumer.java
index c9ee39a18e5..b208f597592 100644
--- a/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpConsumer.java
+++ b/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpConsumer.java
@@ -40,7 +40,6 @@ import io.vertx.ext.web.impl.RouteImpl;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.ExchangePropertyKey;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.attachment.AttachmentMessage;
@@ -184,7 +183,7 @@ public class VertxPlatformHttpConsumer extends DefaultConsumer {
         //
 
         if (getEndpoint().isHttpProxy()) {
-            exchange.adapt(ExtendedExchange.class).setStreamCacheDisabled(true);
+            exchange.getExchangeExtension().setStreamCacheDisabled(true);
             final MultiMap httpHeaders = ctx.request().headers();
             exchange.getMessage().setHeader(Exchange.HTTP_HOST, httpHeaders.get("Host"));
             exchange.getMessage().removeHeader("Proxy-Connection");
diff --git a/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java b/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java
index 4805daa320e..56de9a983be 100644
--- a/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java
+++ b/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java
@@ -27,7 +27,6 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.support.CamelContextHelper;
@@ -88,7 +87,7 @@ public class JettyCustomPlatformHttpConsumer extends DefaultConsumer {
                     exchange.getMessage().setHeader(Exchange.HTTP_PORT, httpServletRequest.getServerPort());
                     exchange.getMessage().setHeader(Exchange.HTTP_PATH, httpServletRequest.getPathInfo());
                     if (getEndpoint().isHttpProxy()) {
-                        exchange.adapt(ExtendedExchange.class).setStreamCacheDisabled(true);
+                        exchange.getExchangeExtension().setStreamCacheDisabled(true);
                     }
                     createUoW(exchange);
                     getProcessor().process(exchange);
diff --git a/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaConsumer.java b/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
index 74261b683df..5d4b0941fca 100644
--- a/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
+++ b/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
@@ -25,7 +25,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.AsyncProcessor;
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Processor;
 import org.apache.camel.ShutdownRunningTask;
 import org.apache.camel.Suspendable;
@@ -252,7 +251,7 @@ public class SedaConsumer extends DefaultConsumer implements Runnable, ShutdownA
             }
 
             // handover completions, as we need to done this when the multicast is done
-            final List<Synchronization> completions = exchange.adapt(ExtendedExchange.class).handoverCompletions();
+            final List<Synchronization> completions = exchange.getExchangeExtension().handoverCompletions();
 
             // use a multicast processor to process it
             AsyncProcessor mp = getEndpoint().getConsumerMulticastProcessor();
diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
index 1961ad76d3d..7d5426ae047 100644
--- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
+++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
@@ -28,7 +28,6 @@ import javax.xml.transform.Source;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.attachment.DefaultAttachmentMessage;
@@ -134,7 +133,7 @@ public class SpringWebserviceConsumer extends DefaultConsumer implements Message
         // create inbound message
         WebServiceMessage request = messageContext.getRequest();
 
-        SpringWebserviceMessage swm = exchange.adapt(ExtendedExchange.class).getInOrNull(SpringWebserviceMessage.class);
+        SpringWebserviceMessage swm = exchange.getExchangeExtension().getInOrNull(SpringWebserviceMessage.class);
         if (swm == null) {
             swm = new SpringWebserviceMessage(exchange.getContext(), request);
             exchange.setIn(swm);
diff --git a/components/camel-tarfile/src/main/java/org/apache/camel/processor/aggregate/tarfile/TarAggregationStrategy.java b/components/camel-tarfile/src/main/java/org/apache/camel/processor/aggregate/tarfile/TarAggregationStrategy.java
index 0699f05b227..2a16cf79796 100644
--- a/components/camel-tarfile/src/main/java/org/apache/camel/processor/aggregate/tarfile/TarAggregationStrategy.java
+++ b/components/camel-tarfile/src/main/java/org/apache/camel/processor/aggregate/tarfile/TarAggregationStrategy.java
@@ -26,7 +26,6 @@ import java.nio.file.Files;
 
 import org.apache.camel.AggregationStrategy;
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.WrappedFile;
 import org.apache.camel.component.file.FileConsumer;
 import org.apache.camel.component.file.GenericFile;
@@ -201,7 +200,7 @@ public class TarAggregationStrategy implements AggregationStrategy {
     public void onCompletion(Exchange exchange, Exchange inputExchange) {
         // this aggregation strategy added onCompletion which we should handover when we are complete
         if (inputExchange != null) {
-            exchange.adapt(ExtendedExchange.class).handoverCompletions(inputExchange);
+            exchange.getExchangeExtension().handoverCompletions(inputExchange);
         }
     }
 
diff --git a/components/camel-zipfile/src/main/java/org/apache/camel/processor/aggregate/zipfile/ZipAggregationStrategy.java b/components/camel-zipfile/src/main/java/org/apache/camel/processor/aggregate/zipfile/ZipAggregationStrategy.java
index b13df829839..5b59f2eee7b 100644
--- a/components/camel-zipfile/src/main/java/org/apache/camel/processor/aggregate/zipfile/ZipAggregationStrategy.java
+++ b/components/camel-zipfile/src/main/java/org/apache/camel/processor/aggregate/zipfile/ZipAggregationStrategy.java
@@ -31,7 +31,6 @@ import java.util.Map;
 
 import org.apache.camel.AggregationStrategy;
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.WrappedFile;
 import org.apache.camel.component.file.FileConsumer;
 import org.apache.camel.component.file.GenericFile;
@@ -220,7 +219,7 @@ public class ZipAggregationStrategy implements AggregationStrategy {
     public void onCompletion(Exchange exchange, Exchange inputExchange) {
         // this aggregation strategy added onCompletion which we should handover when we are complete
         if (inputExchange != null) {
-            exchange.adapt(ExtendedExchange.class).handoverCompletions(inputExchange);
+            exchange.getExchangeExtension().handoverCompletions(inputExchange);
         }
     }
 
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimulateFailoverRoundRobinTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimulateFailoverRoundRobinTest.java
index cf45a712593..429e954c75c 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimulateFailoverRoundRobinTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimulateFailoverRoundRobinTest.java
@@ -21,7 +21,6 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
 import org.apache.camel.Processor;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;