You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/02/17 08:39:44 UTC

[camel] 01/06: CAMEL-16115 - Remove Camel-AWS-* components - AWS-SQS

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

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

commit 92a906fc3569f980953425e41b4aa8887a7372e8
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 17 08:51:10 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-SQS
---
 bom/camel-bom/pom.xml                              |    5 -
 components/camel-aws-sqs/README.md                 |   35 -
 components/camel-aws-sqs/pom.xml                   |  140 -
 .../component/aws/sqs/SqsComponentConfigurer.java  |  269 --
 .../component/aws/sqs/SqsEndpointConfigurer.java   |  373 ---
 .../component/aws/sqs/SqsEndpointUriFactory.java   |  122 -
 .../services/org/apache/camel/component.properties |    7 -
 .../services/org/apache/camel/component/aws-sqs    |    2 -
 .../org/apache/camel/configurer/aws-sqs-component  |    2 -
 .../org/apache/camel/configurer/aws-sqs-endpoint   |    2 -
 .../org/apache/camel/urifactory/aws-sqs-endpoint   |    2 -
 .../apache/camel/component/aws/sqs/aws-sqs.json    |  126 -
 .../src/main/docs/aws-sqs-component.adoc           |  400 ---
 .../aws/sqs/ConstantMessageGroupIdStrategy.java    |   28 -
 .../ExchangeIdMessageDeduplicationIdStrategy.java  |   28 -
 .../aws/sqs/ExchangeIdMessageGroupIdStrategy.java  |   28 -
 .../aws/sqs/MessageDeduplicationIdStrategy.java    |   25 -
 .../component/aws/sqs/MessageGroupIdStrategy.java  |   25 -
 .../sqs/NullMessageDeduplicationIdStrategy.java    |   28 -
 .../sqs/PropertyValueMessageGroupIdStrategy.java   |   28 -
 .../camel/component/aws/sqs/SqsComponent.java      |  100 -
 .../aws/sqs/SqsComponentVerifierExtension.java     |   91 -
 .../camel/component/aws/sqs/SqsConfiguration.java  |  570 ----
 .../camel/component/aws/sqs/SqsConstants.java      |   33 -
 .../camel/component/aws/sqs/SqsConsumer.java       |  345 ---
 .../camel/component/aws/sqs/SqsEndpoint.java       |  422 ---
 .../component/aws/sqs/SqsHeaderFilterStrategy.java |   30 -
 .../camel/component/aws/sqs/SqsOperations.java     |   24 -
 .../camel/component/aws/sqs/SqsProducer.java       |  311 ---
 .../component/aws/sqs/AmazonSQSClientMock.java     |  228 --
 .../component/aws/sqs/SqsBatchConsumerTest.java    |   79 -
 .../aws/sqs/SqsComponentClientRegistryTest.java    |   70 -
 .../aws/sqs/SqsComponentConfigurationTest.java     |  326 ---
 .../component/aws/sqs/SqsComponentSpringTest.java  |  135 -
 .../camel/component/aws/sqs/SqsComponentTest.java  |  110 -
 .../aws/sqs/SqsComponentVerifierExtensionTest.java |   74 -
 .../aws/sqs/SqsConcurrentConsumerTest.java         |   97 -
 .../component/aws/sqs/SqsConfigurationTest.java    |   50 -
 .../aws/sqs/SqsConsumerIdleMessageTest.java        |   57 -
 .../sqs/SqsDoesNotExtendMessageVisibilityTest.java |   74 -
 .../aws/sqs/SqsEndpointExplicitQueueUrlTest.java   |   50 -
 .../camel/component/aws/sqs/SqsEndpointTest.java   |  198 --
 .../aws/sqs/SqsEndpointUseExistingQueueTest.java   |  103 -
 .../aws/sqs/SqsExtendMessageVisibilityTest.java    |   86 -
 .../aws/sqs/SqsFilterMessagesWithNoDeleteTest.java |  135 -
 .../component/aws/sqs/SqsProducerBatchTest.java    |   79 -
 .../component/aws/sqs/SqsProducerDeleteTest.java   |   69 -
 .../aws/sqs/SqsProducerListQueuesTest.java         |   71 -
 .../camel/component/aws/sqs/SqsProducerTest.java   |  303 ---
 .../integration/SqsComponentIntegrationTest.java   |  129 -
 .../SqsConsumerMessageIntegrationTest.java         |   97 -
 .../SqsProducerBatchSendFifoIntegrationTest.java   |  101 -
 .../SqsProducerBatchSendIntegrationTest.java       |  100 -
 .../SqsProducerDeleteMessageIntegrationTest.java   |   96 -
 .../aws/sqs/integration/TestSqsConfiguration.java  |   54 -
 .../src/test/resources/log4j2.properties           |   28 -
 .../aws/sqs/SqsComponentSpringTest-context.xml     |   51 -
 components/pom.xml                                 |    1 -
 core/camel-allcomponents/pom.xml                   |    4 -
 .../dsl/AwsSqsComponentBuilderFactory.java         |  771 ------
 .../endpoint/dsl/SqsEndpointBuilderFactory.java    | 2875 --------------------
 parent/pom.xml                                     |    5 -
 62 files changed, 10307 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 1c42379..be9903d 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -208,11 +208,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-aws-sqs</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-aws-swf</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/components/camel-aws-sqs/README.md b/components/camel-aws-sqs/README.md
deleted file mode 100644
index 88b7245..0000000
--- a/components/camel-aws-sqs/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# AWS SQS component for SDK v1
-
-# Running the tests
-
-This component contains integration tests that can be executed against a LocalStack instance, or an actual AWS 
-instance. The build determines the execution or not of the integration tests automatically by checking the `DOCKER_HOST`
-environment variable. If set, then the build will try to execute the integration test. 
-
-*Note*: the `DOCKER_HOST` variable is usually the address of the local unix socket `unix:///var/run/docker.sock`. 
-
-It is possible to run the tests on a remote docker server by overwriting the value of the DOCKER_HOST variable:
-
-
-```
-DOCKER_HOST=tcp://myhost:2375 mvn clean verify
-```
-
-# Force running the integration tests
-
-Should you need to force the execution of the integration tests, despite the value of the DOCKER_HOST variable, you can
-do so by enabling the `aws-tests-docker-env` profile:
-
-
-```
-mvn -Paws-tests-docker-env clean test verify
-```
-
-# Running the tests against AWS
-
-You can define the `aws-service.instance.type`, `aws.access.key` and `aws.secret.key` to switch the test execution from
-using LocalStack and, instead, using AWS:
-
-```
-mvn -Paws-tests-docker-env -Daws-service.instance.type=remote -Daws.access.key=you-access-key -Daws.secret.key=you-secret-key clean test verify
-``` 
\ No newline at end of file
diff --git a/components/camel-aws-sqs/pom.xml b/components/camel-aws-sqs/pom.xml
deleted file mode 100644
index ea5d875..0000000
--- a/components/camel-aws-sqs/pom.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.9.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-aws-sqs</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Camel :: AWS SQS (deprecated)</name>
-    <description>A Camel Amazon SQS Web Service Component</description>
-
-    <properties>
-        <deprecatedSince>3.8.0</deprecatedSince>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.amazonaws</groupId>
-            <artifactId>aws-java-sdk-sqs</artifactId>
-            <version>${aws-java-sdk-version}</version>
-        </dependency>
-
-        <!-- test infra -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-common</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-aws-common</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-aws-v1</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- for testing -->
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-catalog</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <!-- activate test if the DOCKER_HOST env var is set -->
-    <profiles>
-        <profile>
-            <id>aws-tests-docker-env</id>
-            <activation>
-                <property>
-                    <name>env.DOCKER_HOST</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <configuration>
-                            <skipTests>${skipTests}</skipTests>
-                            <reuseForks>true</reuseForks>
-                            <systemPropertyVariables>
-                                <visibleassertions.silence>true</visibleassertions.silence>
-                            </systemPropertyVariables>
-                            <includes>
-                                <include>**/*IntegrationTest.java</include>
-                            </includes>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurer.java b/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurer.java
deleted file mode 100644
index 35214be..0000000
--- a/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurer.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.sqs;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class SqsComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    private org.apache.camel.component.aws.sqs.SqsConfiguration getOrCreateConfiguration(SqsComponent target) {
-        if (target.getConfiguration() == null) {
-            target.setConfiguration(new org.apache.camel.component.aws.sqs.SqsConfiguration());
-        }
-        return target.getConfiguration();
-    }
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        SqsComponent target = (SqsComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonawshost":
-        case "amazonAWSHost": getOrCreateConfiguration(target).setAmazonAWSHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonsqsclient":
-        case "amazonSQSClient": getOrCreateConfiguration(target).setAmazonSQSClient(property(camelContext, com.amazonaws.services.sqs.AmazonSQS.class, value)); return true;
-        case "attributenames":
-        case "attributeNames": getOrCreateConfiguration(target).setAttributeNames(property(camelContext, java.lang.String.class, value)); return true;
-        case "autocreatequeue":
-        case "autoCreateQueue": getOrCreateConfiguration(target).setAutoCreateQueue(property(camelContext, boolean.class, value)); return true;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": getOrCreateConfiguration(target).setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true;
-        case "autowiredenabled":
-        case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
-        case "concurrentconsumers":
-        case "concurrentConsumers": getOrCreateConfiguration(target).setConcurrentConsumers(property(camelContext, int.class, value)); return true;
-        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws.sqs.SqsConfiguration.class, value)); return true;
-        case "defaultvisibilitytimeout":
-        case "defaultVisibilityTimeout": getOrCreateConfiguration(target).setDefaultVisibilityTimeout(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "delayqueue":
-        case "delayQueue": getOrCreateConfiguration(target).setDelayQueue(property(camelContext, boolean.class, value)); return true;
-        case "delayseconds":
-        case "delaySeconds": getOrCreateConfiguration(target).setDelaySeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "deleteafterread":
-        case "deleteAfterRead": getOrCreateConfiguration(target).setDeleteAfterRead(property(camelContext, boolean.class, value)); return true;
-        case "deleteiffiltered":
-        case "deleteIfFiltered": getOrCreateConfiguration(target).setDeleteIfFiltered(property(camelContext, boolean.class, value)); return true;
-        case "extendmessagevisibility":
-        case "extendMessageVisibility": getOrCreateConfiguration(target).setExtendMessageVisibility(property(camelContext, boolean.class, value)); return true;
-        case "kmsdatakeyreuseperiodseconds":
-        case "kmsDataKeyReusePeriodSeconds": getOrCreateConfiguration(target).setKmsDataKeyReusePeriodSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "kmsmasterkeyid":
-        case "kmsMasterKeyId": getOrCreateConfiguration(target).setKmsMasterKeyId(property(camelContext, java.lang.String.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "maximummessagesize":
-        case "maximumMessageSize": getOrCreateConfiguration(target).setMaximumMessageSize(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "messageattributenames":
-        case "messageAttributeNames": getOrCreateConfiguration(target).setMessageAttributeNames(property(camelContext, java.lang.String.class, value)); return true;
-        case "messagededuplicationidstrategy":
-        case "messageDeduplicationIdStrategy": getOrCreateConfiguration(target).setMessageDeduplicationIdStrategy(property(camelContext, java.lang.String.class, value)); return true;
-        case "messagegroupidstrategy":
-        case "messageGroupIdStrategy": getOrCreateConfiguration(target).setMessageGroupIdStrategy(property(camelContext, java.lang.String.class, value)); return true;
-        case "messageretentionperiod":
-        case "messageRetentionPeriod": getOrCreateConfiguration(target).setMessageRetentionPeriod(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "operation": getOrCreateConfiguration(target).setOperation(property(camelContext, org.apache.camel.component.aws.sqs.SqsOperations.class, value)); return true;
-        case "policy": getOrCreateConfiguration(target).setPolicy(property(camelContext, java.lang.String.class, value)); return true;
-        case "protocol": getOrCreateConfiguration(target).setProtocol(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyhost":
-        case "proxyHost": getOrCreateConfiguration(target).setProxyHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyport":
-        case "proxyPort": getOrCreateConfiguration(target).setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "proxyprotocol":
-        case "proxyProtocol": getOrCreateConfiguration(target).setProxyProtocol(property(camelContext, com.amazonaws.Protocol.class, value)); return true;
-        case "queueownerawsaccountid":
-        case "queueOwnerAWSAccountId": getOrCreateConfiguration(target).setQueueOwnerAWSAccountId(property(camelContext, java.lang.String.class, value)); return true;
-        case "queueurl":
-        case "queueUrl": getOrCreateConfiguration(target).setQueueUrl(property(camelContext, java.lang.String.class, value)); return true;
-        case "receivemessagewaittimeseconds":
-        case "receiveMessageWaitTimeSeconds": getOrCreateConfiguration(target).setReceiveMessageWaitTimeSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "redrivepolicy":
-        case "redrivePolicy": getOrCreateConfiguration(target).setRedrivePolicy(property(camelContext, java.lang.String.class, value)); return true;
-        case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true;
-        case "secretkey":
-        case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "serversideencryptionenabled":
-        case "serverSideEncryptionEnabled": getOrCreateConfiguration(target).setServerSideEncryptionEnabled(property(camelContext, boolean.class, value)); return true;
-        case "visibilitytimeout":
-        case "visibilityTimeout": getOrCreateConfiguration(target).setVisibilityTimeout(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "waittimeseconds":
-        case "waitTimeSeconds": getOrCreateConfiguration(target).setWaitTimeSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return java.lang.String.class;
-        case "amazonawshost":
-        case "amazonAWSHost": return java.lang.String.class;
-        case "amazonsqsclient":
-        case "amazonSQSClient": return com.amazonaws.services.sqs.AmazonSQS.class;
-        case "attributenames":
-        case "attributeNames": return java.lang.String.class;
-        case "autocreatequeue":
-        case "autoCreateQueue": return boolean.class;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "autowiredenabled":
-        case "autowiredEnabled": return boolean.class;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
-        case "concurrentconsumers":
-        case "concurrentConsumers": return int.class;
-        case "configuration": return org.apache.camel.component.aws.sqs.SqsConfiguration.class;
-        case "defaultvisibilitytimeout":
-        case "defaultVisibilityTimeout": return java.lang.Integer.class;
-        case "delayqueue":
-        case "delayQueue": return boolean.class;
-        case "delayseconds":
-        case "delaySeconds": return java.lang.Integer.class;
-        case "deleteafterread":
-        case "deleteAfterRead": return boolean.class;
-        case "deleteiffiltered":
-        case "deleteIfFiltered": return boolean.class;
-        case "extendmessagevisibility":
-        case "extendMessageVisibility": return boolean.class;
-        case "kmsdatakeyreuseperiodseconds":
-        case "kmsDataKeyReusePeriodSeconds": return java.lang.Integer.class;
-        case "kmsmasterkeyid":
-        case "kmsMasterKeyId": return java.lang.String.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "maximummessagesize":
-        case "maximumMessageSize": return java.lang.Integer.class;
-        case "messageattributenames":
-        case "messageAttributeNames": return java.lang.String.class;
-        case "messagededuplicationidstrategy":
-        case "messageDeduplicationIdStrategy": return java.lang.String.class;
-        case "messagegroupidstrategy":
-        case "messageGroupIdStrategy": return java.lang.String.class;
-        case "messageretentionperiod":
-        case "messageRetentionPeriod": return java.lang.Integer.class;
-        case "operation": return org.apache.camel.component.aws.sqs.SqsOperations.class;
-        case "policy": return java.lang.String.class;
-        case "protocol": return java.lang.String.class;
-        case "proxyhost":
-        case "proxyHost": return java.lang.String.class;
-        case "proxyport":
-        case "proxyPort": return java.lang.Integer.class;
-        case "proxyprotocol":
-        case "proxyProtocol": return com.amazonaws.Protocol.class;
-        case "queueownerawsaccountid":
-        case "queueOwnerAWSAccountId": return java.lang.String.class;
-        case "queueurl":
-        case "queueUrl": return java.lang.String.class;
-        case "receivemessagewaittimeseconds":
-        case "receiveMessageWaitTimeSeconds": return java.lang.Integer.class;
-        case "redrivepolicy":
-        case "redrivePolicy": return java.lang.String.class;
-        case "region": return java.lang.String.class;
-        case "secretkey":
-        case "secretKey": return java.lang.String.class;
-        case "serversideencryptionenabled":
-        case "serverSideEncryptionEnabled": return boolean.class;
-        case "visibilitytimeout":
-        case "visibilityTimeout": return java.lang.Integer.class;
-        case "waittimeseconds":
-        case "waitTimeSeconds": return java.lang.Integer.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        SqsComponent target = (SqsComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return getOrCreateConfiguration(target).getAccessKey();
-        case "amazonawshost":
-        case "amazonAWSHost": return getOrCreateConfiguration(target).getAmazonAWSHost();
-        case "amazonsqsclient":
-        case "amazonSQSClient": return getOrCreateConfiguration(target).getAmazonSQSClient();
-        case "attributenames":
-        case "attributeNames": return getOrCreateConfiguration(target).getAttributeNames();
-        case "autocreatequeue":
-        case "autoCreateQueue": return getOrCreateConfiguration(target).isAutoCreateQueue();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return getOrCreateConfiguration(target).isAutoDiscoverClient();
-        case "autowiredenabled":
-        case "autowiredEnabled": return target.isAutowiredEnabled();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
-        case "concurrentconsumers":
-        case "concurrentConsumers": return getOrCreateConfiguration(target).getConcurrentConsumers();
-        case "configuration": return target.getConfiguration();
-        case "defaultvisibilitytimeout":
-        case "defaultVisibilityTimeout": return getOrCreateConfiguration(target).getDefaultVisibilityTimeout();
-        case "delayqueue":
-        case "delayQueue": return getOrCreateConfiguration(target).isDelayQueue();
-        case "delayseconds":
-        case "delaySeconds": return getOrCreateConfiguration(target).getDelaySeconds();
-        case "deleteafterread":
-        case "deleteAfterRead": return getOrCreateConfiguration(target).isDeleteAfterRead();
-        case "deleteiffiltered":
-        case "deleteIfFiltered": return getOrCreateConfiguration(target).isDeleteIfFiltered();
-        case "extendmessagevisibility":
-        case "extendMessageVisibility": return getOrCreateConfiguration(target).isExtendMessageVisibility();
-        case "kmsdatakeyreuseperiodseconds":
-        case "kmsDataKeyReusePeriodSeconds": return getOrCreateConfiguration(target).getKmsDataKeyReusePeriodSeconds();
-        case "kmsmasterkeyid":
-        case "kmsMasterKeyId": return getOrCreateConfiguration(target).getKmsMasterKeyId();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "maximummessagesize":
-        case "maximumMessageSize": return getOrCreateConfiguration(target).getMaximumMessageSize();
-        case "messageattributenames":
-        case "messageAttributeNames": return getOrCreateConfiguration(target).getMessageAttributeNames();
-        case "messagededuplicationidstrategy":
-        case "messageDeduplicationIdStrategy": return getOrCreateConfiguration(target).getMessageDeduplicationIdStrategy();
-        case "messagegroupidstrategy":
-        case "messageGroupIdStrategy": return getOrCreateConfiguration(target).getMessageGroupIdStrategy();
-        case "messageretentionperiod":
-        case "messageRetentionPeriod": return getOrCreateConfiguration(target).getMessageRetentionPeriod();
-        case "operation": return getOrCreateConfiguration(target).getOperation();
-        case "policy": return getOrCreateConfiguration(target).getPolicy();
-        case "protocol": return getOrCreateConfiguration(target).getProtocol();
-        case "proxyhost":
-        case "proxyHost": return getOrCreateConfiguration(target).getProxyHost();
-        case "proxyport":
-        case "proxyPort": return getOrCreateConfiguration(target).getProxyPort();
-        case "proxyprotocol":
-        case "proxyProtocol": return getOrCreateConfiguration(target).getProxyProtocol();
-        case "queueownerawsaccountid":
-        case "queueOwnerAWSAccountId": return getOrCreateConfiguration(target).getQueueOwnerAWSAccountId();
-        case "queueurl":
-        case "queueUrl": return getOrCreateConfiguration(target).getQueueUrl();
-        case "receivemessagewaittimeseconds":
-        case "receiveMessageWaitTimeSeconds": return getOrCreateConfiguration(target).getReceiveMessageWaitTimeSeconds();
-        case "redrivepolicy":
-        case "redrivePolicy": return getOrCreateConfiguration(target).getRedrivePolicy();
-        case "region": return getOrCreateConfiguration(target).getRegion();
-        case "secretkey":
-        case "secretKey": return getOrCreateConfiguration(target).getSecretKey();
-        case "serversideencryptionenabled":
-        case "serverSideEncryptionEnabled": return getOrCreateConfiguration(target).isServerSideEncryptionEnabled();
-        case "visibilitytimeout":
-        case "visibilityTimeout": return getOrCreateConfiguration(target).getVisibilityTimeout();
-        case "waittimeseconds":
-        case "waitTimeSeconds": return getOrCreateConfiguration(target).getWaitTimeSeconds();
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsEndpointConfigurer.java b/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsEndpointConfigurer.java
deleted file mode 100644
index c547bc1..0000000
--- a/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsEndpointConfigurer.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.sqs;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class SqsEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        SqsEndpoint target = (SqsEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": target.getConfiguration().setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonawshost":
-        case "amazonAWSHost": target.getConfiguration().setAmazonAWSHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonsqsclient":
-        case "amazonSQSClient": target.getConfiguration().setAmazonSQSClient(property(camelContext, com.amazonaws.services.sqs.AmazonSQS.class, value)); return true;
-        case "attributenames":
-        case "attributeNames": target.getConfiguration().setAttributeNames(property(camelContext, java.lang.String.class, value)); return true;
-        case "autocreatequeue":
-        case "autoCreateQueue": target.getConfiguration().setAutoCreateQueue(property(camelContext, boolean.class, value)); return true;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": target.getConfiguration().setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true;
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": target.setBackoffErrorThreshold(property(camelContext, int.class, value)); return true;
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": target.setBackoffIdleThreshold(property(camelContext, int.class, value)); return true;
-        case "backoffmultiplier":
-        case "backoffMultiplier": target.setBackoffMultiplier(property(camelContext, int.class, value)); return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
-        case "concurrentconsumers":
-        case "concurrentConsumers": target.getConfiguration().setConcurrentConsumers(property(camelContext, int.class, value)); return true;
-        case "defaultvisibilitytimeout":
-        case "defaultVisibilityTimeout": target.getConfiguration().setDefaultVisibilityTimeout(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "delay": target.setDelay(property(camelContext, long.class, value)); return true;
-        case "delayqueue":
-        case "delayQueue": target.getConfiguration().setDelayQueue(property(camelContext, boolean.class, value)); return true;
-        case "delayseconds":
-        case "delaySeconds": target.getConfiguration().setDelaySeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "deleteafterread":
-        case "deleteAfterRead": target.getConfiguration().setDeleteAfterRead(property(camelContext, boolean.class, value)); return true;
-        case "deleteiffiltered":
-        case "deleteIfFiltered": target.getConfiguration().setDeleteIfFiltered(property(camelContext, boolean.class, value)); return true;
-        case "exceptionhandler":
-        case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
-        case "exchangepattern":
-        case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
-        case "extendmessagevisibility":
-        case "extendMessageVisibility": target.getConfiguration().setExtendMessageVisibility(property(camelContext, boolean.class, value)); return true;
-        case "greedy": target.setGreedy(property(camelContext, boolean.class, value)); return true;
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
-        case "initialdelay":
-        case "initialDelay": target.setInitialDelay(property(camelContext, long.class, value)); return true;
-        case "kmsdatakeyreuseperiodseconds":
-        case "kmsDataKeyReusePeriodSeconds": target.getConfiguration().setKmsDataKeyReusePeriodSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "kmsmasterkeyid":
-        case "kmsMasterKeyId": target.getConfiguration().setKmsMasterKeyId(property(camelContext, java.lang.String.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "maxmessagesperpoll":
-        case "maxMessagesPerPoll": target.setMaxMessagesPerPoll(property(camelContext, int.class, value)); return true;
-        case "maximummessagesize":
-        case "maximumMessageSize": target.getConfiguration().setMaximumMessageSize(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "messageattributenames":
-        case "messageAttributeNames": target.getConfiguration().setMessageAttributeNames(property(camelContext, java.lang.String.class, value)); return true;
-        case "messagededuplicationidstrategy":
-        case "messageDeduplicationIdStrategy": target.getConfiguration().setMessageDeduplicationIdStrategy(property(camelContext, java.lang.String.class, value)); return true;
-        case "messagegroupidstrategy":
-        case "messageGroupIdStrategy": target.getConfiguration().setMessageGroupIdStrategy(property(camelContext, java.lang.String.class, value)); return true;
-        case "messageretentionperiod":
-        case "messageRetentionPeriod": target.getConfiguration().setMessageRetentionPeriod(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "operation": target.getConfiguration().setOperation(property(camelContext, org.apache.camel.component.aws.sqs.SqsOperations.class, value)); return true;
-        case "policy": target.getConfiguration().setPolicy(property(camelContext, java.lang.String.class, value)); return true;
-        case "pollstrategy":
-        case "pollStrategy": target.setPollStrategy(property(camelContext, org.apache.camel.spi.PollingConsumerPollStrategy.class, value)); return true;
-        case "protocol": target.getConfiguration().setProtocol(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyhost":
-        case "proxyHost": target.getConfiguration().setProxyHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyport":
-        case "proxyPort": target.getConfiguration().setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "proxyprotocol":
-        case "proxyProtocol": target.getConfiguration().setProxyProtocol(property(camelContext, com.amazonaws.Protocol.class, value)); return true;
-        case "queueownerawsaccountid":
-        case "queueOwnerAWSAccountId": target.getConfiguration().setQueueOwnerAWSAccountId(property(camelContext, java.lang.String.class, value)); return true;
-        case "queueurl":
-        case "queueUrl": target.getConfiguration().setQueueUrl(property(camelContext, java.lang.String.class, value)); return true;
-        case "receivemessagewaittimeseconds":
-        case "receiveMessageWaitTimeSeconds": target.getConfiguration().setReceiveMessageWaitTimeSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "redrivepolicy":
-        case "redrivePolicy": target.getConfiguration().setRedrivePolicy(property(camelContext, java.lang.String.class, value)); return true;
-        case "region": target.getConfiguration().setRegion(property(camelContext, java.lang.String.class, value)); return true;
-        case "repeatcount":
-        case "repeatCount": target.setRepeatCount(property(camelContext, long.class, value)); return true;
-        case "runlogginglevel":
-        case "runLoggingLevel": target.setRunLoggingLevel(property(camelContext, org.apache.camel.LoggingLevel.class, value)); return true;
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": target.setScheduledExecutorService(property(camelContext, java.util.concurrent.ScheduledExecutorService.class, value)); return true;
-        case "scheduler": target.setScheduler(property(camelContext, java.lang.Object.class, value)); return true;
-        case "schedulerproperties":
-        case "schedulerProperties": target.setSchedulerProperties(property(camelContext, java.util.Map.class, value)); return true;
-        case "secretkey":
-        case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": target.setSendEmptyMessageWhenIdle(property(camelContext, boolean.class, value)); return true;
-        case "serversideencryptionenabled":
-        case "serverSideEncryptionEnabled": target.getConfiguration().setServerSideEncryptionEnabled(property(camelContext, boolean.class, value)); return true;
-        case "startscheduler":
-        case "startScheduler": target.setStartScheduler(property(camelContext, boolean.class, value)); return true;
-        case "timeunit":
-        case "timeUnit": target.setTimeUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
-        case "usefixeddelay":
-        case "useFixedDelay": target.setUseFixedDelay(property(camelContext, boolean.class, value)); return true;
-        case "visibilitytimeout":
-        case "visibilityTimeout": target.getConfiguration().setVisibilityTimeout(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "waittimeseconds":
-        case "waitTimeSeconds": target.getConfiguration().setWaitTimeSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return java.lang.String.class;
-        case "amazonawshost":
-        case "amazonAWSHost": return java.lang.String.class;
-        case "amazonsqsclient":
-        case "amazonSQSClient": return com.amazonaws.services.sqs.AmazonSQS.class;
-        case "attributenames":
-        case "attributeNames": return java.lang.String.class;
-        case "autocreatequeue":
-        case "autoCreateQueue": return boolean.class;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": return int.class;
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": return int.class;
-        case "backoffmultiplier":
-        case "backoffMultiplier": return int.class;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
-        case "concurrentconsumers":
-        case "concurrentConsumers": return int.class;
-        case "defaultvisibilitytimeout":
-        case "defaultVisibilityTimeout": return java.lang.Integer.class;
-        case "delay": return long.class;
-        case "delayqueue":
-        case "delayQueue": return boolean.class;
-        case "delayseconds":
-        case "delaySeconds": return java.lang.Integer.class;
-        case "deleteafterread":
-        case "deleteAfterRead": return boolean.class;
-        case "deleteiffiltered":
-        case "deleteIfFiltered": return boolean.class;
-        case "exceptionhandler":
-        case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
-        case "exchangepattern":
-        case "exchangePattern": return org.apache.camel.ExchangePattern.class;
-        case "extendmessagevisibility":
-        case "extendMessageVisibility": return boolean.class;
-        case "greedy": return boolean.class;
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
-        case "initialdelay":
-        case "initialDelay": return long.class;
-        case "kmsdatakeyreuseperiodseconds":
-        case "kmsDataKeyReusePeriodSeconds": return java.lang.Integer.class;
-        case "kmsmasterkeyid":
-        case "kmsMasterKeyId": return java.lang.String.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "maxmessagesperpoll":
-        case "maxMessagesPerPoll": return int.class;
-        case "maximummessagesize":
-        case "maximumMessageSize": return java.lang.Integer.class;
-        case "messageattributenames":
-        case "messageAttributeNames": return java.lang.String.class;
-        case "messagededuplicationidstrategy":
-        case "messageDeduplicationIdStrategy": return java.lang.String.class;
-        case "messagegroupidstrategy":
-        case "messageGroupIdStrategy": return java.lang.String.class;
-        case "messageretentionperiod":
-        case "messageRetentionPeriod": return java.lang.Integer.class;
-        case "operation": return org.apache.camel.component.aws.sqs.SqsOperations.class;
-        case "policy": return java.lang.String.class;
-        case "pollstrategy":
-        case "pollStrategy": return org.apache.camel.spi.PollingConsumerPollStrategy.class;
-        case "protocol": return java.lang.String.class;
-        case "proxyhost":
-        case "proxyHost": return java.lang.String.class;
-        case "proxyport":
-        case "proxyPort": return java.lang.Integer.class;
-        case "proxyprotocol":
-        case "proxyProtocol": return com.amazonaws.Protocol.class;
-        case "queueownerawsaccountid":
-        case "queueOwnerAWSAccountId": return java.lang.String.class;
-        case "queueurl":
-        case "queueUrl": return java.lang.String.class;
-        case "receivemessagewaittimeseconds":
-        case "receiveMessageWaitTimeSeconds": return java.lang.Integer.class;
-        case "redrivepolicy":
-        case "redrivePolicy": return java.lang.String.class;
-        case "region": return java.lang.String.class;
-        case "repeatcount":
-        case "repeatCount": return long.class;
-        case "runlogginglevel":
-        case "runLoggingLevel": return org.apache.camel.LoggingLevel.class;
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": return java.util.concurrent.ScheduledExecutorService.class;
-        case "scheduler": return java.lang.Object.class;
-        case "schedulerproperties":
-        case "schedulerProperties": return java.util.Map.class;
-        case "secretkey":
-        case "secretKey": return java.lang.String.class;
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": return boolean.class;
-        case "serversideencryptionenabled":
-        case "serverSideEncryptionEnabled": return boolean.class;
-        case "startscheduler":
-        case "startScheduler": return boolean.class;
-        case "timeunit":
-        case "timeUnit": return java.util.concurrent.TimeUnit.class;
-        case "usefixeddelay":
-        case "useFixedDelay": return boolean.class;
-        case "visibilitytimeout":
-        case "visibilityTimeout": return java.lang.Integer.class;
-        case "waittimeseconds":
-        case "waitTimeSeconds": return java.lang.Integer.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        SqsEndpoint target = (SqsEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return target.getConfiguration().getAccessKey();
-        case "amazonawshost":
-        case "amazonAWSHost": return target.getConfiguration().getAmazonAWSHost();
-        case "amazonsqsclient":
-        case "amazonSQSClient": return target.getConfiguration().getAmazonSQSClient();
-        case "attributenames":
-        case "attributeNames": return target.getConfiguration().getAttributeNames();
-        case "autocreatequeue":
-        case "autoCreateQueue": return target.getConfiguration().isAutoCreateQueue();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return target.getConfiguration().isAutoDiscoverClient();
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": return target.getBackoffErrorThreshold();
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": return target.getBackoffIdleThreshold();
-        case "backoffmultiplier":
-        case "backoffMultiplier": return target.getBackoffMultiplier();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
-        case "concurrentconsumers":
-        case "concurrentConsumers": return target.getConfiguration().getConcurrentConsumers();
-        case "defaultvisibilitytimeout":
-        case "defaultVisibilityTimeout": return target.getConfiguration().getDefaultVisibilityTimeout();
-        case "delay": return target.getDelay();
-        case "delayqueue":
-        case "delayQueue": return target.getConfiguration().isDelayQueue();
-        case "delayseconds":
-        case "delaySeconds": return target.getConfiguration().getDelaySeconds();
-        case "deleteafterread":
-        case "deleteAfterRead": return target.getConfiguration().isDeleteAfterRead();
-        case "deleteiffiltered":
-        case "deleteIfFiltered": return target.getConfiguration().isDeleteIfFiltered();
-        case "exceptionhandler":
-        case "exceptionHandler": return target.getExceptionHandler();
-        case "exchangepattern":
-        case "exchangePattern": return target.getExchangePattern();
-        case "extendmessagevisibility":
-        case "extendMessageVisibility": return target.getConfiguration().isExtendMessageVisibility();
-        case "greedy": return target.isGreedy();
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
-        case "initialdelay":
-        case "initialDelay": return target.getInitialDelay();
-        case "kmsdatakeyreuseperiodseconds":
-        case "kmsDataKeyReusePeriodSeconds": return target.getConfiguration().getKmsDataKeyReusePeriodSeconds();
-        case "kmsmasterkeyid":
-        case "kmsMasterKeyId": return target.getConfiguration().getKmsMasterKeyId();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "maxmessagesperpoll":
-        case "maxMessagesPerPoll": return target.getMaxMessagesPerPoll();
-        case "maximummessagesize":
-        case "maximumMessageSize": return target.getConfiguration().getMaximumMessageSize();
-        case "messageattributenames":
-        case "messageAttributeNames": return target.getConfiguration().getMessageAttributeNames();
-        case "messagededuplicationidstrategy":
-        case "messageDeduplicationIdStrategy": return target.getConfiguration().getMessageDeduplicationIdStrategy();
-        case "messagegroupidstrategy":
-        case "messageGroupIdStrategy": return target.getConfiguration().getMessageGroupIdStrategy();
-        case "messageretentionperiod":
-        case "messageRetentionPeriod": return target.getConfiguration().getMessageRetentionPeriod();
-        case "operation": return target.getConfiguration().getOperation();
-        case "policy": return target.getConfiguration().getPolicy();
-        case "pollstrategy":
-        case "pollStrategy": return target.getPollStrategy();
-        case "protocol": return target.getConfiguration().getProtocol();
-        case "proxyhost":
-        case "proxyHost": return target.getConfiguration().getProxyHost();
-        case "proxyport":
-        case "proxyPort": return target.getConfiguration().getProxyPort();
-        case "proxyprotocol":
-        case "proxyProtocol": return target.getConfiguration().getProxyProtocol();
-        case "queueownerawsaccountid":
-        case "queueOwnerAWSAccountId": return target.getConfiguration().getQueueOwnerAWSAccountId();
-        case "queueurl":
-        case "queueUrl": return target.getConfiguration().getQueueUrl();
-        case "receivemessagewaittimeseconds":
-        case "receiveMessageWaitTimeSeconds": return target.getConfiguration().getReceiveMessageWaitTimeSeconds();
-        case "redrivepolicy":
-        case "redrivePolicy": return target.getConfiguration().getRedrivePolicy();
-        case "region": return target.getConfiguration().getRegion();
-        case "repeatcount":
-        case "repeatCount": return target.getRepeatCount();
-        case "runlogginglevel":
-        case "runLoggingLevel": return target.getRunLoggingLevel();
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": return target.getScheduledExecutorService();
-        case "scheduler": return target.getScheduler();
-        case "schedulerproperties":
-        case "schedulerProperties": return target.getSchedulerProperties();
-        case "secretkey":
-        case "secretKey": return target.getConfiguration().getSecretKey();
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": return target.isSendEmptyMessageWhenIdle();
-        case "serversideencryptionenabled":
-        case "serverSideEncryptionEnabled": return target.getConfiguration().isServerSideEncryptionEnabled();
-        case "startscheduler":
-        case "startScheduler": return target.isStartScheduler();
-        case "timeunit":
-        case "timeUnit": return target.getTimeUnit();
-        case "usefixeddelay":
-        case "useFixedDelay": return target.isUseFixedDelay();
-        case "visibilitytimeout":
-        case "visibilityTimeout": return target.getConfiguration().getVisibilityTimeout();
-        case "waittimeseconds":
-        case "waitTimeSeconds": return target.getConfiguration().getWaitTimeSeconds();
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "schedulerproperties":
-        case "schedulerProperties": return java.lang.Object.class;
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsEndpointUriFactory.java b/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsEndpointUriFactory.java
deleted file mode 100644
index 550678d..0000000
--- a/components/camel-aws-sqs/src/generated/java/org/apache/camel/component/aws/sqs/SqsEndpointUriFactory.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.sqs;
-
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.spi.EndpointUriFactory;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-public class SqsEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
-
-    private static final String BASE = ":queueNameOrArn";
-
-    private static final Set<String> PROPERTY_NAMES;
-    private static final Set<String> SECRET_PROPERTY_NAMES;
-    static {
-        Set<String> props = new HashSet<>(58);
-        props.add("queueUrl");
-        props.add("initialDelay");
-        props.add("proxyPort");
-        props.add("protocol");
-        props.add("attributeNames");
-        props.add("bridgeErrorHandler");
-        props.add("greedy");
-        props.add("maxMessagesPerPoll");
-        props.add("scheduledExecutorService");
-        props.add("messageRetentionPeriod");
-        props.add("repeatCount");
-        props.add("sendEmptyMessageWhenIdle");
-        props.add("schedulerProperties");
-        props.add("extendMessageVisibility");
-        props.add("queueOwnerAWSAccountId");
-        props.add("concurrentConsumers");
-        props.add("proxyHost");
-        props.add("receiveMessageWaitTimeSeconds");
-        props.add("backoffIdleThreshold");
-        props.add("lazyStartProducer");
-        props.add("waitTimeSeconds");
-        props.add("delay");
-        props.add("redrivePolicy");
-        props.add("startScheduler");
-        props.add("accessKey");
-        props.add("region");
-        props.add("exceptionHandler");
-        props.add("backoffMultiplier");
-        props.add("maximumMessageSize");
-        props.add("deleteIfFiltered");
-        props.add("messageDeduplicationIdStrategy");
-        props.add("kmsDataKeyReusePeriodSeconds");
-        props.add("visibilityTimeout");
-        props.add("scheduler");
-        props.add("useFixedDelay");
-        props.add("headerFilterStrategy");
-        props.add("runLoggingLevel");
-        props.add("backoffErrorThreshold");
-        props.add("autoCreateQueue");
-        props.add("kmsMasterKeyId");
-        props.add("amazonAWSHost");
-        props.add("delayQueue");
-        props.add("policy");
-        props.add("timeUnit");
-        props.add("delaySeconds");
-        props.add("autoDiscoverClient");
-        props.add("messageAttributeNames");
-        props.add("serverSideEncryptionEnabled");
-        props.add("proxyProtocol");
-        props.add("secretKey");
-        props.add("queueNameOrArn");
-        props.add("exchangePattern");
-        props.add("defaultVisibilityTimeout");
-        props.add("messageGroupIdStrategy");
-        props.add("pollStrategy");
-        props.add("amazonSQSClient");
-        props.add("deleteAfterRead");
-        props.add("operation");
-        PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        Set<String> secretProps = new HashSet<>(3);
-        secretProps.add("secretKey");
-        secretProps.add("accessKey");
-        secretProps.add("queueOwnerAWSAccountId");
-        SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps);
-    }
-
-    @Override
-    public boolean isEnabled(String scheme) {
-        return "aws-sqs".equals(scheme);
-    }
-
-    @Override
-    public String buildUri(String scheme, Map<String, Object> properties, boolean encode) throws URISyntaxException {
-        String syntax = scheme + BASE;
-        String uri = syntax;
-
-        Map<String, Object> copy = new HashMap<>(properties);
-
-        uri = buildPathParameter(syntax, uri, "queueNameOrArn", null, true, copy);
-        uri = buildQueryParameters(uri, copy, encode);
-        return uri;
-    }
-
-    @Override
-    public Set<String> propertyNames() {
-        return PROPERTY_NAMES;
-    }
-
-    @Override
-    public Set<String> secretPropertyNames() {
-        return SECRET_PROPERTY_NAMES;
-    }
-
-    @Override
-    public boolean isLenientProperties() {
-        return false;
-    }
-}
-
diff --git a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index 2bf873d..0000000
--- a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-components=aws-sqs
-groupId=org.apache.camel
-artifactId=camel-aws-sqs
-version=3.9.0-SNAPSHOT
-projectName=Camel :: AWS SQS (deprecated)
-projectDescription=A Camel Amazon SQS Web Service Component
diff --git a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/component/aws-sqs b/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/component/aws-sqs
deleted file mode 100644
index bf7b336..0000000
--- a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/component/aws-sqs
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.sqs.SqsComponent
diff --git a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-sqs-component b/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-sqs-component
deleted file mode 100644
index 2b6cea3..0000000
--- a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-sqs-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.sqs.SqsComponentConfigurer
diff --git a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-sqs-endpoint b/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-sqs-endpoint
deleted file mode 100644
index 627946b..0000000
--- a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-sqs-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.sqs.SqsEndpointConfigurer
diff --git a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-sqs-endpoint b/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-sqs-endpoint
deleted file mode 100644
index 21555d2..0000000
--- a/components/camel-aws-sqs/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-sqs-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.sqs.SqsEndpointUriFactory
diff --git a/components/camel-aws-sqs/src/generated/resources/org/apache/camel/component/aws/sqs/aws-sqs.json b/components/camel-aws-sqs/src/generated/resources/org/apache/camel/component/aws/sqs/aws-sqs.json
deleted file mode 100644
index 3dbe6a5..0000000
--- a/components/camel-aws-sqs/src/generated/resources/org/apache/camel/component/aws/sqs/aws-sqs.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-sqs",
-    "title": "AWS Simple Queue Service (SQS)",
-    "description": "Sending and receive messages to\/from AWS SQS service.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.6.0",
-    "label": "cloud,messaging",
-    "javaType": "org.apache.camel.component.aws.sqs.SqsComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-sqs",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-sqs",
-    "extendsScheme": "",
-    "syntax": "aws-sqs:queueNameOrArn",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "amazonAWSHost": { "kind": "property", "displayName": "Amazon AWSHost", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "amazonaws.com", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The hostname of the Amazon AWS cloud." },
-    "amazonSQSClient": { "kind": "property", "displayName": "Amazon SQSClient", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.services.sqs.AmazonSQS", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To use the AmazonSQS as client" },
-    "autoCreateQueue": { "kind": "property", "displayName": "Auto Create Queue", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Setting the autocreation of the queue" },
-    "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instan [...]
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.sqs.SqsConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" },
-    "protocol": { "kind": "property", "displayName": "Protocol", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "https", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The underlying protocol used to communicate with SQS" },
-    "proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the SQS client" },
-    "queueOwnerAWSAccountId": { "kind": "property", "displayName": "Queue Owner AWSAccount Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Specify the queue owner aws account id when you need to connect the queue with different account owner." },
-    "region": { "kind": "property", "displayName": "Region", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. When using this parameter, the configurat [...]
-    "attributeNames": { "kind": "property", "displayName": "Attribute Names", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "A list of attribute names to receive when consuming. Multiple names can be separated by comma." },
-    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...]
-    "concurrentConsumers": { "kind": "property", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Allows you to use multiple threads to poll the sqs queue to increase throughput" },
-    "defaultVisibilityTimeout": { "kind": "property", "displayName": "Default Visibility Timeout", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The default visibility timeout (in seconds)" },
-    "deleteAfterRead": { "kind": "property", "displayName": "Delete After Read", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Delete message from SQS after it has been read" },
-    "deleteIfFiltered": { "kind": "property", "displayName": "Delete If Filtered", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through  [...]
-    "extendMessageVisibility": { "kind": "property", "displayName": "Extend Message Visibility", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "If enabled then a scheduled background task will keep extending the message vis [...]
-    "kmsDataKeyReusePeriodSeconds": { "kind": "property", "displayName": "Kms Data Key Reuse Period Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The length of time, in seconds, for which Amazon SQS can reuse a data key to en [...]
-    "kmsMasterKeyId": { "kind": "property", "displayName": "Kms Master Key Id", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK." },
-    "messageAttributeNames": { "kind": "property", "displayName": "Message Attribute Names", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "A list of message attribute names to receive when consuming. Multiple names can be separated by co [...]
-    "serverSideEncryptionEnabled": { "kind": "property", "displayName": "Server Side Encryption Enabled", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the queue" },
-    "visibilityTimeout": { "kind": "property", "displayName": "Visibility Timeout", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after b [...]
-    "waitTimeSeconds": { "kind": "property", "displayName": "Wait Time Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue  [...]
-    "delaySeconds": { "kind": "property", "displayName": "Delay Seconds", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Delay sending messages for a number of seconds." },
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "messageDeduplicationIdStrategy": { "kind": "property", "displayName": "Message Deduplication Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useExchangeId", "useContentBasedDeduplication" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "useExchangeId", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", " [...]
-    "messageGroupIdStrategy": { "kind": "property", "displayName": "Message Group Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useConstant", "useExchangeId", "usePropertyValue" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Only for FIFO queues. Strategy  [...]
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.sqs.SqsOperations", "enum": [ "sendBatchMessage", "deleteMessage", "listQueues" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The operation to do in case t [...]
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
-    "delayQueue": { "kind": "property", "displayName": "Delay Queue", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Define if you want to apply delaySeconds option to the queue or on single messages" },
-    "queueUrl": { "kind": "property", "displayName": "Queue Url", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is i [...]
-    "proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the SQS client" },
-    "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the SQS client" },
-    "maximumMessageSize": { "kind": "property", "displayName": "Maximum Message Size", "group": "queue", "label": "queue", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The maximumMessageSize (in bytes) an SQS message can contain for this queue." },
-    "messageRetentionPeriod": { "kind": "property", "displayName": "Message Retention Period", "group": "queue", "label": "queue", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue." },
-    "policy": { "kind": "property", "displayName": "Policy", "group": "queue", "label": "queue", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The policy for this queue" },
-    "receiveMessageWaitTimeSeconds": { "kind": "property", "displayName": "Receive Message Wait Time Seconds", "group": "queue", "label": "queue", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMes [...]
-    "redrivePolicy": { "kind": "property", "displayName": "Redrive Policy", "group": "queue", "label": "queue", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Specify the policy that send message to DeadLetter queue. See detail at Amazon docs." },
-    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  },
-  "properties": {
-    "queueNameOrArn": { "kind": "path", "displayName": "Queue Name Or Arn", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Queue name or ARN" },
-    "amazonAWSHost": { "kind": "parameter", "displayName": "Amazon AWSHost", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "amazonaws.com", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The hostname of the Amazon AWS cloud." },
-    "amazonSQSClient": { "kind": "parameter", "displayName": "Amazon SQSClient", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.services.sqs.AmazonSQS", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To use the AmazonSQS as client" },
-    "autoCreateQueue": { "kind": "parameter", "displayName": "Auto Create Queue", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Setting the autocreation of the queue" },
-    "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client insta [...]
-    "headerFilterStrategy": { "kind": "parameter", "displayName": "Header Filter Strategy", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to map headers to\/from Camel." },
-    "protocol": { "kind": "parameter", "displayName": "Protocol", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "https", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The underlying protocol used to communicate with SQS" },
-    "proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the SQS client" },
-    "queueOwnerAWSAccountId": { "kind": "parameter", "displayName": "Queue Owner AWSAccount Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Specify the queue owner aws account id when you need to connect the queue with different account owner." },
-    "region": { "kind": "parameter", "displayName": "Region", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. When using this parameter, the configura [...]
-    "attributeNames": { "kind": "parameter", "displayName": "Attribute Names", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "A list of attribute names to receive when consuming. Multiple names can be separated by comma." },
-    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a m [...]
-    "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Allows you to use multiple threads to poll the sqs queue to increase throughput" },
-    "defaultVisibilityTimeout": { "kind": "parameter", "displayName": "Default Visibility Timeout", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The default visibility timeout (in seconds)" },
-    "deleteAfterRead": { "kind": "parameter", "displayName": "Delete After Read", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Delete message from SQS after it has been read" },
-    "deleteIfFiltered": { "kind": "parameter", "displayName": "Delete If Filtered", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through [...]
-    "extendMessageVisibility": { "kind": "parameter", "displayName": "Extend Message Visibility", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "If enabled then a scheduled background task will keep extending the message vi [...]
-    "kmsDataKeyReusePeriodSeconds": { "kind": "parameter", "displayName": "Kms Data Key Reuse Period Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The length of time, in seconds, for which Amazon SQS can reuse a data key to e [...]
-    "kmsMasterKeyId": { "kind": "parameter", "displayName": "Kms Master Key Id", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK." },
-    "maxMessagesPerPoll": { "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited." },
-    "messageAttributeNames": { "kind": "parameter", "displayName": "Message Attribute Names", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "A list of message attribute names to receive when consuming. Multiple names can be separated by c [...]
-    "sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send Empty Message When Idle", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead." },
-    "serverSideEncryptionEnabled": { "kind": "parameter", "displayName": "Server Side Encryption Enabled", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the queue" },
-    "visibilityTimeout": { "kind": "parameter", "displayName": "Visibility Timeout", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after  [...]
-    "waitTimeSeconds": { "kind": "parameter", "displayName": "Wait Time Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue [...]
-    "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...]
-    "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation  [...]
-    "delaySeconds": { "kind": "parameter", "displayName": "Delay Seconds", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Delay sending messages for a number of seconds." },
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
-    "messageDeduplicationIdStrategy": { "kind": "parameter", "displayName": "Message Deduplication Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useExchangeId", "useContentBasedDeduplication" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "useExchangeId", "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration",  [...]
-    "messageGroupIdStrategy": { "kind": "parameter", "displayName": "Message Group Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useConstant", "useExchangeId", "usePropertyValue" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Only for FIFO queues. Strategy [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.sqs.SqsOperations", "enum": [ "sendBatchMessage", "deleteMessage", "listQueues" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The operation to do in case  [...]
-    "delayQueue": { "kind": "parameter", "displayName": "Delay Queue", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Define if you want to apply delaySeconds option to the queue or on single messages" },
-    "queueUrl": { "kind": "parameter", "displayName": "Queue Url", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is  [...]
-    "proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the SQS client" },
-    "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the SQS client" },
-    "maximumMessageSize": { "kind": "parameter", "displayName": "Maximum Message Size", "group": "queue", "label": "queue", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The maximumMessageSize (in bytes) an SQS message can contain for this queue." },
-    "messageRetentionPeriod": { "kind": "parameter", "displayName": "Message Retention Period", "group": "queue", "label": "queue", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue." },
-    "policy": { "kind": "parameter", "displayName": "Policy", "group": "queue", "label": "queue", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "The policy for this queue" },
-    "receiveMessageWaitTimeSeconds": { "kind": "parameter", "displayName": "Receive Message Wait Time Seconds", "group": "queue", "label": "queue", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMe [...]
-    "redrivePolicy": { "kind": "parameter", "displayName": "Redrive Policy", "group": "queue", "label": "queue", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Specify the policy that send message to DeadLetter queue. See detail at Amazon docs." },
-    "backoffErrorThreshold": { "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening agai [...]
-    "delay": { "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the logging level  [...]
-    "scheduledExecutorService": { "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.sqs.SqsConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  }
-}
diff --git a/components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc b/components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc
deleted file mode 100644
index b43dab9..0000000
--- a/components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc
+++ /dev/null
@@ -1,400 +0,0 @@
-[[aws-sqs-component]]
-= AWS Simple Queue Service (SQS) Component (deprecated)
-:docTitle: AWS Simple Queue Service (SQS)
-:artifactId: camel-aws-sqs
-:description: Sending and receive messages to/from AWS SQS service.
-:since: 2.6
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Both producer and consumer are supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-sqs.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The sqs component supports sending and receiving messages to
-https://aws.amazon.com/sqs[Amazon's SQS] service.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon SQS. More information is available at
-https://aws.amazon.com/sqs[Amazon SQS].
-
-== URI Format
-
-[source,java]
-------------------------------
-aws-sqs://queueNameOrArn[?options]
-------------------------------
-
-The queue will be created if they don't already exists. +
- You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Simple Queue Service (SQS) component supports 39 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonAWSHost* (common) | The hostname of the Amazon AWS cloud. | amazonaws.com | String
-| *amazonSQSClient* (common) | To use the AmazonSQS as client |  | AmazonSQS
-| *autoCreateQueue* (common) | Setting the autocreation of the queue | true | boolean
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *configuration* (common) | The component configuration |  | SqsConfiguration
-| *protocol* (common) | The underlying protocol used to communicate with SQS | https | String
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the SQS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queueOwnerAWSAccountId* (common) | Specify the queue owner aws account id when you need to connect the queue with different account owner. |  | String
-| *region* (common) | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
-| *attributeNames* (consumer) | A list of attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *concurrentConsumers* (consumer) | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | int
-| *defaultVisibilityTimeout* (consumer) | The default visibility timeout (in seconds) |  | Integer
-| *deleteAfterRead* (consumer) | Delete message from SQS after it has been read | true | boolean
-| *deleteIfFiltered* (consumer) | Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage. | true | boolean
-| *extendMessageVisibility* (consumer) | If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs. | false | boolean
-| *kmsDataKeyReusePeriodSeconds* (consumer) | The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). |  | Integer
-| *kmsMasterKeyId* (consumer) | The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. |  | String
-| *messageAttributeNames* (consumer) | A list of message attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
-| *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
-| *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
-| *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
-| *messageGroupIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. There are 3 enums and the value can be one of: useConstant, useExchangeId, usePropertyValue |  | String
-| *operation* (producer) | The operation to do in case the user don't want to send only a message. There are 3 enums and the value can be one of: sendBatchMessage, deleteMessage, listQueues |  | SqsOperations
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *delayQueue* (advanced) | Define if you want to apply delaySeconds option to the queue or on single messages | false | boolean
-| *queueUrl* (advanced) | To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes. |  | String
-| *proxyHost* (proxy) | To define a proxy host when instantiating the SQS client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the SQS client |  | Integer
-| *maximumMessageSize* (queue) | The maximumMessageSize (in bytes) an SQS message can contain for this queue. |  | Integer
-| *messageRetentionPeriod* (queue) | The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue. |  | Integer
-| *policy* (queue) | The policy for this queue |  | String
-| *receiveMessageWaitTimeSeconds* (queue) | If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. |  | Integer
-| *redrivePolicy* (queue) | Specify the policy that send message to DeadLetter queue. See detail at Amazon docs. |  | String
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// component options: END
-
-
-
-
-
-
-
-
-// endpoint options: START
-The AWS Simple Queue Service (SQS) endpoint is configured using URI syntax:
-
-----
-aws-sqs:queueNameOrArn
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *queueNameOrArn* | *Required* Queue name or ARN |  | String
-|===
-
-
-=== Query Parameters (57 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonAWSHost* (common) | The hostname of the Amazon AWS cloud. | amazonaws.com | String
-| *amazonSQSClient* (common) | To use the AmazonSQS as client |  | AmazonSQS
-| *autoCreateQueue* (common) | Setting the autocreation of the queue | true | boolean
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to map headers to/from Camel. |  | HeaderFilterStrategy
-| *protocol* (common) | The underlying protocol used to communicate with SQS | https | String
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the SQS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queueOwnerAWSAccountId* (common) | Specify the queue owner aws account id when you need to connect the queue with different account owner. |  | String
-| *region* (common) | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
-| *attributeNames* (consumer) | A list of attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *concurrentConsumers* (consumer) | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | int
-| *defaultVisibilityTimeout* (consumer) | The default visibility timeout (in seconds) |  | Integer
-| *deleteAfterRead* (consumer) | Delete message from SQS after it has been read | true | boolean
-| *deleteIfFiltered* (consumer) | Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage. | true | boolean
-| *extendMessageVisibility* (consumer) | If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs. | false | boolean
-| *kmsDataKeyReusePeriodSeconds* (consumer) | The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). |  | Integer
-| *kmsMasterKeyId* (consumer) | The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. |  | String
-| *maxMessagesPerPoll* (consumer) | Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited. |  | int
-| *messageAttributeNames* (consumer) | A list of message attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
-| *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
-| *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
-| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
-| *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
-| *messageGroupIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. There are 3 enums and the value can be one of: useConstant, useExchangeId, usePropertyValue |  | String
-| *operation* (producer) | The operation to do in case the user don't want to send only a message. There are 3 enums and the value can be one of: sendBatchMessage, deleteMessage, listQueues |  | SqsOperations
-| *delayQueue* (advanced) | Define if you want to apply delaySeconds option to the queue or on single messages | false | boolean
-| *queueUrl* (advanced) | To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes. |  | String
-| *proxyHost* (proxy) | To define a proxy host when instantiating the SQS client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the SQS client |  | Integer
-| *maximumMessageSize* (queue) | The maximumMessageSize (in bytes) an SQS message can contain for this queue. |  | Integer
-| *messageRetentionPeriod* (queue) | The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue. |  | Integer
-| *policy* (queue) | The policy for this queue |  | String
-| *receiveMessageWaitTimeSeconds* (queue) | If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. |  | Integer
-| *redrivePolicy* (queue) | Specify the policy that send message to DeadLetter queue. See detail at Amazon docs. |  | String
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-
-
-
-
-Required SQS component options
-
-You have to provide the amazonSQSClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/sqs[Amazon's SQS].
-
-== Batch Consumer
-
-This component implements the Batch Consumer.
-
-This allows you for instance to know how many messages exists in this
-batch and for instance let the Aggregator
-aggregate this number of messages.
-
-== Usage
-
-=== Message headers set by the SQS producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
-
-|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID.
-
-|`CamelAwsSqsDelaySeconds` |`Integer` |The delay seconds that the Amazon SQS message can be
-see by others.
-|=======================================================================
-
-=== Message headers set by the SQS consumer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
-
-|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID. 
-
-|`CamelAwsSqsReceiptHandle` |`String` |The Amazon SQS message receipt handle.
-
-|`CamelAwsSqsMessageAttributes` |`Map<String, String>` |The Amazon SQS message attributes.
-|=======================================================================
-
-=== Advanced AmazonSQS configuration
-
-If your Camel Application is running behind a firewall or if you need to
-have more control over the AmazonSQS instance configuration, you can
-create your own instance:
-
-[source,java]
---------------------------------------------------------------------------------------
-AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
-
-ClientConfiguration clientConfiguration = new ClientConfiguration();
-clientConfiguration.setProxyHost("http://myProxyHost");
-clientConfiguration.setProxyPort(8080);
-
-AmazonSQS client = new AmazonSQSClient(awsCredentials, clientConfiguration);
-
-registry.bind("client", client);
---------------------------------------------------------------------------------------
-
-and refer to it in your Camel aws-sqs component configuration:
-
-[source,java]
----------------------------------------------------------------------------------
-from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
-.to("mock:result");
----------------------------------------------------------------------------------
-
-=== Creating or updating an SQS Queue
-
-In the SQS Component, when an endpoint is started, a check is executed to obtain information 
-about the existence of the queue or not. You're able to customize the creation through the QueueAttributeName 
-mapping with the SQSConfiguration option.
-
-[source,java]
----------------------------------------------------------------------------------
-from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
-.to("mock:result");
----------------------------------------------------------------------------------
-
-In this example if the MyQueue queue is not already created on AWS (and the autoCreateQueue option is set to true), it will be created with default parameters from the 
-SQS configuration. If it's already up on AWS, the SQS configuration options will be used to override the existent AWS configuration.
-
-=== DelayQueue VS Delay for Single message
-
-When the option delayQueue is set to true, the SQS Queue will be a DelayQueue with the
-DelaySeconds option as delay. For more information about DelayQueue you can read the https://docs.aws.amazon.com/en_us/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html[AWS SQS documentation].
-One important information to take into account is the following:
-
-- For standard queues, the per-queue delay setting is not retroactive—changing the setting doesn't affect the delay of messages already in the queue.
-- For FIFO queues, the per-queue delay setting is retroactive—changing the setting affects the delay of messages already in the queue.
-
-as stated in the official documentation. If you want to specify a delay on single messages, you can ignore the delayQueue option, while you can set this option 
-to true, if you need to add a fixed delay to all messages enqueued.
-
-=== Server Side Encryption
-
-There is a set of Server Side Encryption attributes for a queue. The related option are serverSideEncryptionEnabled, keyMasterKeyId and kmsDataKeyReusePeriod.
-The SSE is disabled by default. You need to explicitly set the option to true and set the related parameters as queue attributes.
-
-== Dependencies
-
-Maven users will need to add the following dependency to their pom.xml.
-
-*pom.xml*
-
-[source,xml]
----------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-aws-sqs</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-== JMS-style Selectors
-
-SQS does not allow selectors, but you can effectively achieve this by
-using the Camel Filter EIP and setting an
-appropriate `visibilityTimeout`. When SQS dispatches a message, it will
-wait up to the visibility timeout before it will try to dispatch the
-message to a different consumer unless a DeleteMessage is received. By
-default, Camel will always send the DeleteMessage at the end of the
-route, unless the route ended in failure. To achieve appropriate
-filtering and not send the DeleteMessage even on successful completion
-of the route, use a Filter:
-
-[source,java]
-------------------------------------------------------------------------------------------------------
-from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false&deleteAfterRead=false")
-.filter("${header.login} == true")
-.to("mock:result");
-------------------------------------------------------------------------------------------------------
-
-In the above code, if an exchange doesn't have an appropriate header, it
-will not make it through the filter AND also not be deleted from the SQS
-queue. After 5000 milliseconds, the message will become visible to other
-consumers.
-
-== Available Producer Operations
-- single message (default)
-- sendBatchMessage
-- deleteMessage
-- listQueues
-
-== Send Batch Message
-
-You can set a `SendMessageBatchRequest` or an `Iterable`
-
-------------------------------------------------------------------------------------------------------
-from("direct:start")
-  .setHeader(SqsConstants.SQS_OPERATION, constant("sendBatchMessage")).to("aws-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)&region=EU_WEST_1");
-------------------------------------------------------------------------------------------------------
-
-As result you'll get an exchange containing a `SendMessageBatchResult` instance, that you can examinate to check what messages were successfull and what not.
-The id set on each message of the batch will be a Random UUID.
-
-== Delete single Message
-
-Use deleteMessage operation to delete a single message. You'll need to set a receipt handle header for the message you want to delete.
-
-------------------------------------------------------------------------------------------------------
-from("direct:start")
-  .setHeader(SqsConstants.SQS_OPERATION, constant("deleteMessage"))
-  .setHeader(SqsConstants.RECEIPT_HANDLE, constant("123456"))
-  .to("aws-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)&region=EU_WEST_1");
-------------------------------------------------------------------------------------------------------
-
-As result you'll get an exchange containing a `DeleteMessageResult` instance, that you can use to check if the message was deleted or not.
-
-== List Queues
-
-Use listQueues operation to list queues.
-
-------------------------------------------------------------------------------------------------------
-from("direct:start")
-  .setHeader(SqsConstants.SQS_OPERATION, constant("listQueues")).to("aws-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)&region=EU_WEST_1");
-------------------------------------------------------------------------------------------------------
-
-As result you'll get an exchange containing a `ListQueuesResult` instance, that you can examinate to check the actual queues.
-
-== Queue Autocreation
-
-With the option `autoCreateQueue` users are able to avoid the autocreation of an SQS Queue in case it doesn't exist. The default for this option is `true`.
-If set to false any operation on a not-existent queue in AWS won't be successful and an error will be returned.
-
-== Automatic detection of AmazonSQS client in registry
-
-The component is capable of detecting the presence of an AmazonSQS bean into the registry.
-If it's the only instance of that type it will be used as client and you won't have to define it as uri parameter.
-This may be really useful for smarter configuration of the endpoint.
-
-== Send Batch Message and Message Deduplication Strategy
-
-In case you're using a SendBatchMessage Operation, you can set two different kind of Message Deduplication Strategy:
-- useExchangeId
-- useContentBasedDeduplication
-
-The first one will use a ExchangeIdMessageDeduplicationIdStrategy, that will use the Exchange ID as parameter
-The other one will use a NullMessageDeduplicationIdStrategy, that will use the body as deduplication element.
-
-In case of send batch message operation, you'll need to use the `useContentBasedDeduplication` and on the Queue you're pointing you'll need to enable the `content based deduplication` option.
-
-
-include::camel-spring-boot::page$aws-sqs-starter.adoc[]
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
deleted file mode 100644
index a7c2588..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public class ConstantMessageGroupIdStrategy implements MessageGroupIdStrategy {
-
-    @Override
-    public String getMessageGroupId(Exchange exchange) {
-        return "CamelSingleMessageGroup";
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageDeduplicationIdStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageDeduplicationIdStrategy.java
deleted file mode 100644
index 25652a6..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageDeduplicationIdStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public class ExchangeIdMessageDeduplicationIdStrategy implements MessageDeduplicationIdStrategy {
-
-    @Override
-    public String getMessageDeduplicationId(Exchange exchange) {
-        return exchange.getExchangeId();
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageGroupIdStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageGroupIdStrategy.java
deleted file mode 100644
index 9a26f7a..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageGroupIdStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public class ExchangeIdMessageGroupIdStrategy implements MessageGroupIdStrategy {
-
-    @Override
-    public String getMessageGroupId(Exchange exchange) {
-        return exchange.getExchangeId();
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/MessageDeduplicationIdStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/MessageDeduplicationIdStrategy.java
deleted file mode 100644
index 9f9310d..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/MessageDeduplicationIdStrategy.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public interface MessageDeduplicationIdStrategy {
-
-    String getMessageDeduplicationId(Exchange exchange);
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/MessageGroupIdStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/MessageGroupIdStrategy.java
deleted file mode 100644
index b3cc6aa..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/MessageGroupIdStrategy.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public interface MessageGroupIdStrategy {
-
-    String getMessageGroupId(Exchange exchange);
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/NullMessageDeduplicationIdStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/NullMessageDeduplicationIdStrategy.java
deleted file mode 100644
index 81bf073..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/NullMessageDeduplicationIdStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public class NullMessageDeduplicationIdStrategy implements MessageDeduplicationIdStrategy {
-
-    @Override
-    public String getMessageDeduplicationId(Exchange exchange) {
-        return null;
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/PropertyValueMessageGroupIdStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/PropertyValueMessageGroupIdStrategy.java
deleted file mode 100644
index 24d2518..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/PropertyValueMessageGroupIdStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public class PropertyValueMessageGroupIdStrategy implements MessageGroupIdStrategy {
-
-    @Override
-    public String getMessageGroupId(Exchange exchange) {
-        return exchange.getProperty(SqsConstants.MESSAGE_GROUP_ID_PROPERTY, String.class);
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
deleted file mode 100644
index 20fffff..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.Map;
-import java.util.Set;
-
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.sqs.AmazonSQS;
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.annotations.Component;
-import org.apache.camel.support.DefaultComponent;
-
-@Component("aws-sqs")
-public class SqsComponent extends DefaultComponent {
-
-    @Metadata
-    private SqsConfiguration configuration = new SqsConfiguration();
-
-    public SqsComponent() {
-        this(null);
-    }
-
-    public SqsComponent(CamelContext context) {
-        super(context);
-
-        registerExtension(new SqsComponentVerifierExtension());
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-
-        if (remaining == null || remaining.trim().length() == 0) {
-            throw new IllegalArgumentException("Queue name must be specified.");
-        }
-        SqsConfiguration configuration = this.configuration != null ? this.configuration.copy() : new SqsConfiguration();
-        if (remaining.startsWith("arn:")) {
-            String[] parts = remaining.split(":");
-            if (parts.length != 6 || !parts[2].equals("sqs")) {
-                throw new IllegalArgumentException("Queue arn must be in format arn:aws:sqs:region:account:name.");
-            }
-            configuration.setRegion(Regions.fromName(parts[3]).toString());
-            configuration.setQueueOwnerAWSAccountId(parts[4]);
-            configuration.setQueueName(parts[5]);
-        } else {
-            configuration.setQueueName(remaining);
-        }
-        SqsEndpoint sqsEndpoint = new SqsEndpoint(uri, this, configuration);
-        setProperties(sqsEndpoint, parameters);
-        if (sqsEndpoint.getConfiguration().isAutoDiscoverClient()) {
-            checkAndSetRegistryClient(configuration);
-        }
-        if (configuration.getAmazonSQSClient() == null
-                && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
-            throw new IllegalArgumentException("AmazonSQSClient or accessKey and secretKey must be specified.");
-        }
-
-        // Verify that visibilityTimeout is set if extendMessageVisibility is
-        // set to true.
-        if (configuration.isExtendMessageVisibility() && (configuration.getVisibilityTimeout() == null)) {
-            throw new IllegalArgumentException(
-                    "Extending message visibility (extendMessageVisibility) requires visibilityTimeout to be set on the Endpoint.");
-        }
-        return sqsEndpoint;
-    }
-
-    public SqsConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    /**
-     * The component configuration
-     */
-    public void setConfiguration(SqsConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    private void checkAndSetRegistryClient(SqsConfiguration configuration) {
-        Set<AmazonSQS> clients = getCamelContext().getRegistry().findByType(AmazonSQS.class);
-        if (clients.size() == 1) {
-            configuration.setAmazonSQSClient(clients.stream().findFirst().get());
-        }
-    }
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsComponentVerifierExtension.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsComponentVerifierExtension.java
deleted file mode 100644
index b9d9957..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsComponentVerifierExtension.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.Map;
-
-import com.amazonaws.SdkClientException;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.sqs.AmazonSQS;
-import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
-import org.apache.camel.component.extension.verifier.DefaultComponentVerifierExtension;
-import org.apache.camel.component.extension.verifier.ResultBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorHelper;
-
-public class SqsComponentVerifierExtension extends DefaultComponentVerifierExtension {
-
-    public SqsComponentVerifierExtension() {
-        this("aws-sqs");
-    }
-
-    public SqsComponentVerifierExtension(String scheme) {
-        super(scheme);
-    }
-
-    // *********************************
-    // Parameters validation
-    // *********************************
-
-    @Override
-    protected Result verifyParameters(Map<String, Object> parameters) {
-
-        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.PARAMETERS)
-                .error(ResultErrorHelper.requiresOption("accessKey", parameters))
-                .error(ResultErrorHelper.requiresOption("secretKey", parameters))
-                .error(ResultErrorHelper.requiresOption("region", parameters));
-
-        // Validate using the catalog
-
-        super.verifyParametersAgainstCatalog(builder, parameters);
-
-        return builder.build();
-    }
-
-    // *********************************
-    // Connectivity validation
-    // *********************************
-
-    @Override
-    protected Result verifyConnectivity(Map<String, Object> parameters) {
-        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.CONNECTIVITY);
-
-        try {
-            SqsConfiguration configuration = setProperties(new SqsConfiguration(), parameters);
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            AmazonSQS client = AmazonSQSClientBuilder.standard().withCredentials(credentialsProvider)
-                    .withRegion(Regions.valueOf(configuration.getRegion())).build();
-            client.listQueues();
-        } catch (SdkClientException e) {
-            ResultErrorBuilder errorBuilder
-                    = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
-                            .detail("aws_sqs_exception_message", e.getMessage())
-                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_CLASS, e.getClass().getName())
-                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_INSTANCE, e);
-
-            builder.error(errorBuilder.build());
-        } catch (Exception e) {
-            builder.error(ResultErrorBuilder.withException(e).build());
-        }
-        return builder.build();
-    }
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
deleted file mode 100644
index 7e2c105..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
+++ /dev/null
@@ -1,570 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.services.sqs.AmazonSQS;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriParams;
-
-@UriParams
-public class SqsConfiguration implements Cloneable {
-
-    // common properties
-    private String queueName;
-    @UriParam
-    private AmazonSQS amazonSQSClient;
-    @UriParam(label = "security", secret = true)
-    private String accessKey;
-    @UriParam(label = "security", secret = true)
-    private String secretKey;
-    @UriParam(defaultValue = "amazonaws.com")
-    private String amazonAWSHost = "amazonaws.com";
-    @UriParam(secret = true)
-    private String queueOwnerAWSAccountId;
-    @UriParam
-    private String region;
-    @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS")
-    private Protocol proxyProtocol = Protocol.HTTPS;
-    @UriParam(label = "proxy")
-    private String proxyHost;
-    @UriParam(label = "proxy")
-    private Integer proxyPort;
-    @UriParam(defaultValue = "true")
-    private boolean autoCreateQueue = true;
-    @UriParam(label = "common", defaultValue = "true")
-    private boolean autoDiscoverClient = true;
-
-    // consumer properties
-    @UriParam(label = "consumer", defaultValue = "true")
-    private boolean deleteAfterRead = true;
-    @UriParam(label = "consumer", defaultValue = "true")
-    private boolean deleteIfFiltered = true;
-    @UriParam(label = "consumer")
-    private Integer visibilityTimeout;
-    @UriParam(label = "consumer")
-    private String attributeNames;
-    @UriParam(label = "consumer")
-    private String messageAttributeNames;
-    @UriParam(label = "consumer")
-    private Integer waitTimeSeconds;
-    @UriParam(label = "consumer")
-    private Integer defaultVisibilityTimeout;
-    @UriParam(label = "consumer")
-    private boolean extendMessageVisibility;
-    @UriParam(label = "consumer")
-    private String kmsMasterKeyId;
-    @UriParam(label = "consumer")
-    private Integer kmsDataKeyReusePeriodSeconds;
-    @UriParam(label = "consumer")
-    private boolean serverSideEncryptionEnabled;
-    @UriParam(label = "consumer", defaultValue = "1")
-    private int concurrentConsumers = 1;
-    @UriParam(label = "advanced")
-    private String queueUrl;
-
-    // producer properties
-    @UriParam(label = "producer")
-    private Integer delaySeconds;
-    // producer properties
-    @UriParam(label = "advanced")
-    private boolean delayQueue;
-    @UriParam(label = "producer", javaType = "java.lang.String", enums = "useConstant,useExchangeId,usePropertyValue")
-    private MessageGroupIdStrategy messageGroupIdStrategy;
-    @UriParam(label = "producer", javaType = "java.lang.String", defaultValue = "useExchangeId",
-              enums = "useExchangeId,useContentBasedDeduplication")
-    private MessageDeduplicationIdStrategy messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
-    @UriParam(label = "producer")
-    private SqsOperations operation;
-
-    // queue properties
-    @UriParam(label = "queue")
-    private Integer maximumMessageSize;
-    @UriParam(label = "queue")
-    private Integer messageRetentionPeriod;
-    @UriParam(label = "queue")
-    private Integer receiveMessageWaitTimeSeconds;
-    @UriParam(label = "queue")
-    private String policy;
-
-    // dead letter queue properties
-    @UriParam(label = "queue")
-    private String redrivePolicy;
-
-    // Likely used only for testing
-    @UriParam(defaultValue = "https")
-    private String protocol = "https";
-
-    /**
-     * Whether or not the queue is a FIFO queue
-     */
-    boolean isFifoQueue() {
-        // AWS docs suggest this is valid derivation.
-        // FIFO queue names must end with .fifo, and standard queues cannot
-        return queueName.endsWith(".fifo");
-    }
-
-    public String getAmazonAWSHost() {
-        return amazonAWSHost;
-    }
-
-    /**
-     * The hostname of the Amazon AWS cloud.
-     */
-    public void setAmazonAWSHost(String amazonAWSHost) {
-        this.amazonAWSHost = amazonAWSHost;
-    }
-
-    public String getQueueName() {
-        return queueName;
-    }
-
-    /**
-     * Name of queue. The queue will be created if they don't already exists.
-     */
-    public void setQueueName(String queueName) {
-        this.queueName = queueName;
-    }
-
-    public String getAccessKey() {
-        return accessKey;
-    }
-
-    /**
-     * Amazon AWS Access Key
-     */
-    public void setAccessKey(String accessKey) {
-        this.accessKey = accessKey;
-    }
-
-    public String getSecretKey() {
-        return secretKey;
-    }
-
-    /**
-     * Amazon AWS Secret Key
-     */
-    public void setSecretKey(String secretKey) {
-        this.secretKey = secretKey;
-    }
-
-    public boolean isDeleteAfterRead() {
-        return deleteAfterRead;
-    }
-
-    /**
-     * Delete message from SQS after it has been read
-     */
-    public void setDeleteAfterRead(boolean deleteAfterRead) {
-        this.deleteAfterRead = deleteAfterRead;
-    }
-
-    public AmazonSQS getAmazonSQSClient() {
-        return amazonSQSClient;
-    }
-
-    /**
-     * To use the AmazonSQS as client
-     */
-    public void setAmazonSQSClient(AmazonSQS amazonSQSClient) {
-        this.amazonSQSClient = amazonSQSClient;
-    }
-
-    public Integer getVisibilityTimeout() {
-        return visibilityTimeout;
-    }
-
-    /**
-     * The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being
-     * retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest.
-     * This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout
-     * attribute permanently.
-     */
-    public void setVisibilityTimeout(Integer visibilityTimeout) {
-        this.visibilityTimeout = visibilityTimeout;
-    }
-
-    public String getAttributeNames() {
-        return attributeNames;
-    }
-
-    /**
-     * A list of attribute names to receive when consuming. Multiple names can be separated by comma.
-     */
-    public void setAttributeNames(String attributeNames) {
-        this.attributeNames = attributeNames;
-    }
-
-    public String getMessageAttributeNames() {
-        return messageAttributeNames;
-    }
-
-    /**
-     * A list of message attribute names to receive when consuming. Multiple names can be separated by comma.
-     */
-    public void setMessageAttributeNames(String messageAttributeNames) {
-        this.messageAttributeNames = messageAttributeNames;
-    }
-
-    public Integer getDefaultVisibilityTimeout() {
-        return defaultVisibilityTimeout;
-    }
-
-    /**
-     * The default visibility timeout (in seconds)
-     */
-    public void setDefaultVisibilityTimeout(Integer defaultVisibilityTimeout) {
-        this.defaultVisibilityTimeout = defaultVisibilityTimeout;
-    }
-
-    public Integer getDelaySeconds() {
-        return delaySeconds;
-    }
-
-    /**
-     * Delay sending messages for a number of seconds.
-     */
-    public void setDelaySeconds(Integer delaySeconds) {
-        this.delaySeconds = delaySeconds;
-    }
-
-    public boolean isDelayQueue() {
-        return delayQueue;
-    }
-
-    /**
-     * Define if you want to apply delaySeconds option to the queue or on single messages
-     */
-    public void setDelayQueue(boolean delayQueue) {
-        this.delayQueue = delayQueue;
-    }
-
-    public Integer getMaximumMessageSize() {
-        return maximumMessageSize;
-    }
-
-    /**
-     * The maximumMessageSize (in bytes) an SQS message can contain for this queue.
-     */
-    public void setMaximumMessageSize(Integer maximumMessageSize) {
-        this.maximumMessageSize = maximumMessageSize;
-    }
-
-    public Integer getMessageRetentionPeriod() {
-        return messageRetentionPeriod;
-    }
-
-    /**
-     * The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue.
-     */
-    public void setMessageRetentionPeriod(Integer messageRetentionPeriod) {
-        this.messageRetentionPeriod = messageRetentionPeriod;
-    }
-
-    public String getPolicy() {
-        return policy;
-    }
-
-    /**
-     * The policy for this queue
-     */
-    public void setPolicy(String policy) {
-        this.policy = policy;
-    }
-
-    public String getRedrivePolicy() {
-        return redrivePolicy;
-    }
-
-    /**
-     * Specify the policy that send message to DeadLetter queue. See detail at Amazon docs.
-     */
-    public void setRedrivePolicy(String redrivePolicy) {
-        this.redrivePolicy = redrivePolicy;
-    }
-
-    public boolean isExtendMessageVisibility() {
-        return this.extendMessageVisibility;
-    }
-
-    /**
-     * If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if
-     * it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at
-     * Amazon docs.
-     */
-    public void setExtendMessageVisibility(boolean extendMessageVisibility) {
-        this.extendMessageVisibility = extendMessageVisibility;
-    }
-
-    public Integer getReceiveMessageWaitTimeSeconds() {
-        return receiveMessageWaitTimeSeconds;
-    }
-
-    /**
-     * If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used
-     * to determine how long to wait.
-     */
-    public void setReceiveMessageWaitTimeSeconds(Integer receiveMessageWaitTimeSeconds) {
-        this.receiveMessageWaitTimeSeconds = receiveMessageWaitTimeSeconds;
-    }
-
-    public Integer getWaitTimeSeconds() {
-        return waitTimeSeconds;
-    }
-
-    /**
-     * Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to
-     * include in the response.
-     */
-    public void setWaitTimeSeconds(Integer waitTimeSeconds) {
-        this.waitTimeSeconds = waitTimeSeconds;
-    }
-
-    public String getQueueOwnerAWSAccountId() {
-        return queueOwnerAWSAccountId;
-    }
-
-    /**
-     * Specify the queue owner aws account id when you need to connect the queue with different account owner.
-     */
-    public void setQueueOwnerAWSAccountId(String queueOwnerAWSAccountId) {
-        this.queueOwnerAWSAccountId = queueOwnerAWSAccountId;
-    }
-
-    public boolean isDeleteIfFiltered() {
-        return deleteIfFiltered;
-    }
-
-    /**
-     * Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If
-     * 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send
-     * DeleteMessage.
-     */
-    public void setDeleteIfFiltered(boolean deleteIfFiltered) {
-        this.deleteIfFiltered = deleteIfFiltered;
-    }
-
-    public String getRegion() {
-        return region;
-    }
-
-    /**
-     * Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. When using
-     * this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll
-     * need to use the name Regions.EU_WEST_1.name()
-     */
-    public void setRegion(String region) {
-        this.region = region;
-    }
-
-    public int getConcurrentConsumers() {
-        return concurrentConsumers;
-    }
-
-    /**
-     * Allows you to use multiple threads to poll the sqs queue to increase throughput
-     */
-    public void setConcurrentConsumers(int concurrentConsumers) {
-        this.concurrentConsumers = concurrentConsumers;
-    }
-
-    public String getQueueUrl() {
-        return queueUrl;
-    }
-
-    /**
-     * To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This
-     * parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes.
-     */
-    public void setQueueUrl(String queueUrl) {
-        this.queueUrl = queueUrl;
-    }
-
-    public Protocol getProxyProtocol() {
-        return proxyProtocol;
-    }
-
-    /**
-     * To define a proxy protocol when instantiating the SQS client
-     */
-    public void setProxyProtocol(Protocol proxyProtocol) {
-        this.proxyProtocol = proxyProtocol;
-    }
-
-    public String getProxyHost() {
-        return proxyHost;
-    }
-
-    /**
-     * To define a proxy host when instantiating the SQS client
-     */
-    public void setProxyHost(String proxyHost) {
-        this.proxyHost = proxyHost;
-    }
-
-    public Integer getProxyPort() {
-        return proxyPort;
-    }
-
-    /**
-     * To define a proxy port when instantiating the SQS client
-     */
-    public void setProxyPort(Integer proxyPort) {
-        this.proxyPort = proxyPort;
-    }
-
-    public String getKmsMasterKeyId() {
-        return kmsMasterKeyId;
-    }
-
-    /**
-     * The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK.
-     */
-    public void setKmsMasterKeyId(String kmsMasterKeyId) {
-        this.kmsMasterKeyId = kmsMasterKeyId;
-    }
-
-    public Integer getKmsDataKeyReusePeriodSeconds() {
-        return kmsDataKeyReusePeriodSeconds;
-    }
-
-    /**
-     * The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before
-     * calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24
-     * hours). Default: 300 (5 minutes).
-     */
-    public void setKmsDataKeyReusePeriodSeconds(Integer kmsDataKeyReusePeriodSeconds) {
-        this.kmsDataKeyReusePeriodSeconds = kmsDataKeyReusePeriodSeconds;
-    }
-
-    public boolean isServerSideEncryptionEnabled() {
-        return serverSideEncryptionEnabled;
-    }
-
-    /**
-     * Define if Server Side Encryption is enabled or not on the queue
-     */
-    public void setServerSideEncryptionEnabled(boolean serverSideEncryptionEnabled) {
-        this.serverSideEncryptionEnabled = serverSideEncryptionEnabled;
-    }
-
-    /**
-     * Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following
-     * options: *useConstant*, *useExchangeId*, *usePropertyValue*. For the *usePropertyValue* option, the value of
-     * property "CamelAwsMessageGroupId" will be used.
-     */
-    public void setMessageGroupIdStrategy(String strategy) {
-        if ("useConstant".equalsIgnoreCase(strategy)) {
-            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
-        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
-            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
-        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
-            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
-        } else {
-            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
-        }
-    }
-
-    public void setMessageGroupIdStrategy(MessageGroupIdStrategy messageGroupIdStrategy) {
-        this.messageGroupIdStrategy = messageGroupIdStrategy;
-    }
-
-    public MessageGroupIdStrategy getMessageGroupIdStrategy() {
-        return messageGroupIdStrategy;
-    }
-
-    public MessageDeduplicationIdStrategy getMessageDeduplicationIdStrategy() {
-        return messageDeduplicationIdStrategy;
-    }
-
-    /**
-     * Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following
-     * options: *useExchangeId*, *useContentBasedDeduplication*. For the *useContentBasedDeduplication* option, no
-     * messageDeduplicationId will be set on the message.
-     */
-    public void setMessageDeduplicationIdStrategy(String strategy) {
-        if ("useExchangeId".equalsIgnoreCase(strategy)) {
-            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
-        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
-            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
-        } else {
-            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
-        }
-    }
-
-    public void setMessageDeduplicationIdStrategy(MessageDeduplicationIdStrategy messageDeduplicationIdStrategy) {
-        this.messageDeduplicationIdStrategy = messageDeduplicationIdStrategy;
-    }
-
-    public SqsOperations getOperation() {
-        return operation;
-    }
-
-    /**
-     * The operation to do in case the user don't want to send only a message
-     */
-    public void setOperation(SqsOperations operation) {
-        this.operation = operation;
-    }
-
-    public boolean isAutoCreateQueue() {
-        return autoCreateQueue;
-    }
-
-    /**
-     * Setting the autocreation of the queue
-     */
-    public void setAutoCreateQueue(boolean autoCreateQueue) {
-        this.autoCreateQueue = autoCreateQueue;
-    }
-
-    public String getProtocol() {
-        return protocol;
-    }
-
-    /**
-     * The underlying protocol used to communicate with SQS
-     */
-    public void setProtocol(String protocol) {
-        this.protocol = protocol;
-    }
-
-    public boolean isAutoDiscoverClient() {
-        return autoDiscoverClient;
-    }
-
-    /**
-     * Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry
-     * automatically otherwise it will skip that checking.
-     */
-    public void setAutoDiscoverClient(boolean autoDiscoverClient) {
-        this.autoDiscoverClient = autoDiscoverClient;
-    }
-
-    // *************************************************
-    //
-    // *************************************************
-
-    public SqsConfiguration copy() {
-        try {
-            return (SqsConfiguration) super.clone();
-        } catch (CloneNotSupportedException e) {
-            throw new RuntimeCamelException(e);
-        }
-    }
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
deleted file mode 100644
index d02d30c..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-/**
- * Constants used in Camel AWS SQS module
- */
-public interface SqsConstants {
-
-    String ATTRIBUTES = "CamelAwsSqsAttributes";
-    String MESSAGE_ATTRIBUTES = "CamelAwsSqsMessageAttributes";
-    String MD5_OF_BODY = "CamelAwsSqsMD5OfBody";
-    String MESSAGE_ID = "CamelAwsSqsMessageId";
-    String RECEIPT_HANDLE = "CamelAwsSqsReceiptHandle";
-    String DELAY_HEADER = "CamelAwsSqsDelaySeconds";
-    String MESSAGE_GROUP_ID_PROPERTY = "CamelAwsMessageGroupId";
-    String SQS_QUEUE_PREFIX = "CamelAwsSqsPrefix";
-    String SQS_OPERATION = "CamelAwsSqsOperation";
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
deleted file mode 100644
index 4848ad7..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-
-import com.amazonaws.AmazonClientException;
-import com.amazonaws.services.sqs.AmazonSQS;
-import com.amazonaws.services.sqs.model.ChangeMessageVisibilityRequest;
-import com.amazonaws.services.sqs.model.DeleteMessageRequest;
-import com.amazonaws.services.sqs.model.Message;
-import com.amazonaws.services.sqs.model.MessageNotInflightException;
-import com.amazonaws.services.sqs.model.QueueDeletedRecentlyException;
-import com.amazonaws.services.sqs.model.QueueDoesNotExistException;
-import com.amazonaws.services.sqs.model.ReceiptHandleIsInvalidException;
-import com.amazonaws.services.sqs.model.ReceiveMessageRequest;
-import com.amazonaws.services.sqs.model.ReceiveMessageResult;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
-import org.apache.camel.NoFactoryAvailableException;
-import org.apache.camel.Processor;
-import org.apache.camel.spi.Synchronization;
-import org.apache.camel.support.ScheduledBatchPollingConsumer;
-import org.apache.camel.util.CastUtils;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Consumer of messages from the Amazon Web Service Simple Queue Service <a href="http://aws.amazon.com/sqs/">AWS
- * SQS</a>
- */
-public class SqsConsumer extends ScheduledBatchPollingConsumer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(SqsConsumer.class);
-
-    private ScheduledExecutorService scheduledExecutor;
-    private transient String sqsConsumerToString;
-    private Collection<String> attributeNames;
-    private Collection<String> messageAttributeNames;
-
-    public SqsConsumer(SqsEndpoint endpoint, Processor processor) throws NoFactoryAvailableException {
-        super(endpoint, processor);
-
-        if (getConfiguration().getAttributeNames() != null) {
-            String[] names = getConfiguration().getAttributeNames().split(",");
-            attributeNames = Arrays.asList(names);
-        }
-        if (getConfiguration().getMessageAttributeNames() != null) {
-            String[] names = getConfiguration().getMessageAttributeNames().split(",");
-            messageAttributeNames = Arrays.asList(names);
-        }
-    }
-
-    @Override
-    protected int poll() throws Exception {
-        // must reset for each poll
-        shutdownRunningTask = null;
-        pendingExchanges = 0;
-
-        ReceiveMessageRequest request = new ReceiveMessageRequest(getQueueUrl());
-        request.setMaxNumberOfMessages(getMaxMessagesPerPoll() > 0 ? getMaxMessagesPerPoll() : null);
-        request.setVisibilityTimeout(getConfiguration().getVisibilityTimeout());
-        request.setWaitTimeSeconds(getConfiguration().getWaitTimeSeconds());
-
-        if (attributeNames != null) {
-            request.setAttributeNames(attributeNames);
-        }
-        if (messageAttributeNames != null) {
-            request.setMessageAttributeNames(messageAttributeNames);
-        }
-
-        LOG.trace("Receiving messages with request [{}]...", request);
-
-        ReceiveMessageResult messageResult;
-        try {
-            messageResult = getClient().receiveMessage(request);
-        } catch (QueueDoesNotExistException e) {
-            LOG.info("Queue does not exist....recreating now...");
-            reConnectToQueue();
-            messageResult = getClient().receiveMessage(request);
-        }
-
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Received {} messages", messageResult.getMessages().size());
-        }
-
-        Queue<Exchange> exchanges = createExchanges(messageResult.getMessages());
-        return processBatch(CastUtils.cast(exchanges));
-    }
-
-    public void reConnectToQueue() {
-        try {
-            if (getEndpoint().getConfiguration().isAutoCreateQueue()) {
-                getEndpoint().createQueue(getClient());
-            }
-        } catch (QueueDeletedRecentlyException qdr) {
-            LOG.debug("Queue recently deleted, will retry in 30 seconds.");
-            try {
-                Thread.sleep(30000);
-                getEndpoint().createQueue(getClient());
-            } catch (Exception e) {
-                LOG.warn("failed to retry queue connection.", e);
-            }
-        } catch (Exception e) {
-            LOG.warn("Could not connect to queue in amazon.", e);
-        }
-    }
-
-    protected Queue<Exchange> createExchanges(List<Message> messages) {
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Received {} messages in this poll", messages.size());
-        }
-
-        Queue<Exchange> answer = new LinkedList<>();
-        for (Message message : messages) {
-            Exchange exchange = getEndpoint().createExchange(message);
-            answer.add(exchange);
-        }
-
-        return answer;
-    }
-
-    @Override
-    public int processBatch(Queue<Object> exchanges) throws Exception {
-        int total = exchanges.size();
-
-        for (int index = 0; index < total && isBatchAllowed(); index++) {
-            // only loop if we are started (allowed to run)
-            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
-            // add current index and total as properties
-            exchange.setProperty(Exchange.BATCH_INDEX, index);
-            exchange.setProperty(Exchange.BATCH_SIZE, total);
-            exchange.setProperty(Exchange.BATCH_COMPLETE, index == total - 1);
-
-            // update pending number of exchanges
-            pendingExchanges = total - index - 1;
-
-            // schedule task to extend visibility if enabled
-            Integer visibilityTimeout = getConfiguration().getVisibilityTimeout();
-            if (this.scheduledExecutor != null && visibilityTimeout != null && (visibilityTimeout.intValue() / 2) > 0) {
-                int delay = visibilityTimeout.intValue() / 2;
-                int period = visibilityTimeout.intValue();
-                int repeatSeconds = Double.valueOf(visibilityTimeout.doubleValue() * 1.5).intValue();
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug(
-                            "Scheduled TimeoutExtender task to start after {} delay, and run with {}/{} period/repeat (seconds), to extend exchangeId: {}",
-                            delay, period,
-                            repeatSeconds, exchange.getExchangeId());
-                }
-                final ScheduledFuture<?> scheduledFuture = this.scheduledExecutor.scheduleAtFixedRate(
-                        new TimeoutExtender(exchange, repeatSeconds), delay, period,
-                        TimeUnit.SECONDS);
-                exchange.adapt(ExtendedExchange.class).addOnCompletion(new Synchronization() {
-                    @Override
-                    public void onComplete(Exchange exchange) {
-                        cancelExtender(exchange);
-                    }
-
-                    @Override
-                    public void onFailure(Exchange exchange) {
-                        cancelExtender(exchange);
-                    }
-
-                    private void cancelExtender(Exchange exchange) {
-                        // cancel task as we are done
-                        LOG.trace("Processing done so cancelling TimeoutExtender task for exchangeId: {}",
-                                exchange.getExchangeId());
-                        scheduledFuture.cancel(true);
-                    }
-                });
-            }
-
-            // add on completion to handle after work when the exchange is done
-            exchange.adapt(ExtendedExchange.class).addOnCompletion(new Synchronization() {
-                public void onComplete(Exchange exchange) {
-                    processCommit(exchange);
-                }
-
-                public void onFailure(Exchange exchange) {
-                    processRollback(exchange);
-                }
-
-                @Override
-                public String toString() {
-                    return "SqsConsumerOnCompletion";
-                }
-            });
-
-            LOG.trace("Processing exchange [{}]...", exchange);
-            getAsyncProcessor().process(exchange, doneSync -> LOG.trace("Processing exchange [{}] done.", exchange));
-        }
-
-        return total;
-    }
-
-    /**
-     * Strategy to delete the message after being processed.
-     *
-     * @param exchange the exchange
-     */
-    protected void processCommit(Exchange exchange) {
-        try {
-
-            if (shouldDelete(exchange)) {
-                String receiptHandle = exchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE, String.class);
-                DeleteMessageRequest deleteRequest = new DeleteMessageRequest(getQueueUrl(), receiptHandle);
-
-                LOG.trace("Deleting message with receipt handle {}...", receiptHandle);
-
-                getClient().deleteMessage(deleteRequest);
-
-                LOG.trace("Deleted message with receipt handle {}...", receiptHandle);
-            }
-        } catch (AmazonClientException e) {
-            getExceptionHandler().handleException("Error occurred during deleting message. This exception is ignored.",
-                    exchange, e);
-        }
-    }
-
-    private boolean shouldDelete(Exchange exchange) {
-        boolean shouldDeleteByFilter = exchange.getProperty(Exchange.FILTER_MATCHED) != null
-                && getConfiguration().isDeleteIfFiltered() && passedThroughFilter(exchange);
-
-        return getConfiguration().isDeleteAfterRead() || shouldDeleteByFilter;
-    }
-
-    private boolean passedThroughFilter(Exchange exchange) {
-        return exchange.getProperty(Exchange.FILTER_MATCHED, false, Boolean.class);
-    }
-
-    /**
-     * Strategy when processing the exchange failed.
-     *
-     * @param exchange the exchange
-     */
-    protected void processRollback(Exchange exchange) {
-        Exception cause = exchange.getException();
-        if (cause != null) {
-            getExceptionHandler().handleException(
-                    "Error during processing exchange. Will attempt to process the message on next poll.", exchange, cause);
-        }
-    }
-
-    protected SqsConfiguration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-
-    protected AmazonSQS getClient() {
-        return getEndpoint().getClient();
-    }
-
-    protected String getQueueUrl() {
-        return getEndpoint().getQueueUrl();
-    }
-
-    @Override
-    public SqsEndpoint getEndpoint() {
-        return (SqsEndpoint) super.getEndpoint();
-    }
-
-    @Override
-    public String toString() {
-        if (sqsConsumerToString == null) {
-            sqsConsumerToString = "SqsConsumer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
-        }
-        return sqsConsumerToString;
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        // start scheduler first
-        if (getConfiguration().isExtendMessageVisibility() && scheduledExecutor == null) {
-            this.scheduledExecutor = getEndpoint().getCamelContext().getExecutorServiceManager()
-                    .newSingleThreadScheduledExecutor(this, "SqsTimeoutExtender");
-        }
-
-        super.doStart();
-    }
-
-    @Override
-    protected void doShutdown() throws Exception {
-        if (scheduledExecutor != null) {
-            getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(scheduledExecutor);
-            scheduledExecutor = null;
-        }
-
-        super.doShutdown();
-    }
-
-    private class TimeoutExtender implements Runnable {
-
-        private final Exchange exchange;
-        private final int repeatSeconds;
-
-        TimeoutExtender(Exchange exchange, int repeatSeconds) {
-            this.exchange = exchange;
-            this.repeatSeconds = repeatSeconds;
-        }
-
-        @Override
-        public void run() {
-            ChangeMessageVisibilityRequest request = new ChangeMessageVisibilityRequest(
-                    getQueueUrl(), exchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE, String.class),
-                    repeatSeconds);
-
-            try {
-                LOG.trace("Extending visibility window by {} seconds for exchange {}", this.repeatSeconds, this.exchange);
-                getEndpoint().getClient().changeMessageVisibility(request);
-                LOG.debug("Extended visibility window by {} seconds for exchange {}", this.repeatSeconds, this.exchange);
-            } catch (ReceiptHandleIsInvalidException e) {
-                // Ignore.
-            } catch (MessageNotInflightException e) {
-                // Ignore.
-            } catch (Exception e) {
-                LOG.warn("Extending visibility window failed for exchange " + exchange
-                         + ". Will not attempt to extend visibility further. This exception will be ignored.",
-                        e);
-            }
-        }
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
deleted file mode 100644
index 348e904..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.HashMap;
-import java.util.Map.Entry;
-
-import com.amazonaws.ClientConfiguration;
-import com.amazonaws.Protocol;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.client.builder.AwsClientBuilder;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.sqs.AmazonSQS;
-import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
-import com.amazonaws.services.sqs.model.CreateQueueRequest;
-import com.amazonaws.services.sqs.model.CreateQueueResult;
-import com.amazonaws.services.sqs.model.GetQueueUrlRequest;
-import com.amazonaws.services.sqs.model.GetQueueUrlResult;
-import com.amazonaws.services.sqs.model.ListQueuesResult;
-import com.amazonaws.services.sqs.model.MessageAttributeValue;
-import com.amazonaws.services.sqs.model.QueueAttributeName;
-import com.amazonaws.services.sqs.model.SetQueueAttributesRequest;
-import org.apache.camel.Category;
-import org.apache.camel.Consumer;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.spi.HeaderFilterStrategy;
-import org.apache.camel.spi.HeaderFilterStrategyAware;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriPath;
-import org.apache.camel.support.DefaultScheduledPollConsumerScheduler;
-import org.apache.camel.support.ScheduledPollEndpoint;
-import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Sending and receive messages to/from AWS SQS service.
- */
-@UriEndpoint(firstVersion = "2.6.0", scheme = "aws-sqs", title = "AWS Simple Queue Service (SQS)",
-             syntax = "aws-sqs:queueNameOrArn", category = { Category.CLOUD, Category.MESSAGING })
-public class SqsEndpoint extends ScheduledPollEndpoint implements HeaderFilterStrategyAware {
-
-    private static final Logger LOG = LoggerFactory.getLogger(SqsEndpoint.class);
-
-    private AmazonSQS client;
-    private String queueUrl;
-
-    @UriPath(description = "Queue name or ARN")
-    @Metadata(required = true)
-    private String queueNameOrArn; // to support component docs
-    @UriParam
-    private SqsConfiguration configuration;
-    @UriParam(label = "consumer")
-    private int maxMessagesPerPoll;
-    @UriParam
-    private HeaderFilterStrategy headerFilterStrategy;
-
-    public SqsEndpoint(String uri, SqsComponent component, SqsConfiguration configuration) {
-        super(uri, component);
-        this.configuration = configuration;
-    }
-
-    @Override
-    public HeaderFilterStrategy getHeaderFilterStrategy() {
-        return headerFilterStrategy;
-    }
-
-    /**
-     * To use a custom HeaderFilterStrategy to map headers to/from Camel.
-     */
-    @Override
-    public void setHeaderFilterStrategy(HeaderFilterStrategy strategy) {
-        this.headerFilterStrategy = strategy;
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        return new SqsProducer(this);
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        SqsConsumer sqsConsumer = new SqsConsumer(this, processor);
-        configureConsumer(sqsConsumer);
-        sqsConsumer.setMaxMessagesPerPoll(maxMessagesPerPoll);
-        DefaultScheduledPollConsumerScheduler scheduler = new DefaultScheduledPollConsumerScheduler();
-        scheduler.setConcurrentTasks(configuration.getConcurrentConsumers());
-        sqsConsumer.setScheduler(scheduler);
-        return sqsConsumer;
-    }
-
-    /*
-     If using a different AWS host, do not assume specific parts of the AWS host
-     and, instead, just return whatever is provided as the host.
-     */
-    private String getFullyQualifiedAWSHost() {
-        String host = configuration.getAmazonAWSHost();
-        host = FileUtil.stripTrailingSeparator(host);
-
-        if (host.equals("amazonaws.com")) {
-            return "sqs." + Regions.valueOf(configuration.getRegion()).getName() + "." + host;
-        }
-
-        return host;
-    }
-
-    @Override
-    protected void doInit() throws Exception {
-        super.doInit();
-        client = getConfiguration().getAmazonSQSClient() != null ? getConfiguration().getAmazonSQSClient() : getClient();
-
-        // check the setting the headerFilterStrategy
-        if (headerFilterStrategy == null) {
-            headerFilterStrategy = new SqsHeaderFilterStrategy();
-        }
-
-        if (configuration.getQueueUrl() != null) {
-            queueUrl = configuration.getQueueUrl();
-        } else {
-            // If both region and Account ID is provided the queue URL can be
-            // built manually.
-            // This allows accessing queues where you don't have permission to
-            // list queues or query queues
-            if (configuration.getRegion() != null && configuration.getQueueOwnerAWSAccountId() != null) {
-                String protocol = configuration.getProtocol();
-
-                queueUrl = protocol + "://" + getFullyQualifiedAWSHost() + "/" + configuration.getQueueOwnerAWSAccountId() + "/"
-                           + configuration.getQueueName();
-            } else if (configuration.getQueueOwnerAWSAccountId() != null) {
-                GetQueueUrlRequest getQueueUrlRequest = new GetQueueUrlRequest();
-                getQueueUrlRequest.setQueueName(configuration.getQueueName());
-                getQueueUrlRequest.setQueueOwnerAWSAccountId(configuration.getQueueOwnerAWSAccountId());
-                GetQueueUrlResult getQueueUrlResult = client.getQueueUrl(getQueueUrlRequest);
-                queueUrl = getQueueUrlResult.getQueueUrl();
-            } else {
-                // check whether the queue already exists
-                ListQueuesResult listQueuesResult = client.listQueues();
-                for (String url : listQueuesResult.getQueueUrls()) {
-                    if (url.endsWith("/" + configuration.getQueueName())) {
-                        queueUrl = url;
-                        LOG.trace("Queue available at '{}'.", queueUrl);
-                        break;
-                    }
-                }
-            }
-        }
-
-        if (queueUrl == null && configuration.isAutoCreateQueue()) {
-            createQueue(client);
-        } else {
-            LOG.debug("Using Amazon SQS queue url: {}", queueUrl);
-            updateQueueAttributes(client);
-        }
-    }
-
-    protected void createQueue(AmazonSQS client) {
-        LOG.trace("Queue '{}' doesn't exist. Will create it...", configuration.getQueueName());
-
-        // creates a new queue, or returns the URL of an existing one
-        CreateQueueRequest request = new CreateQueueRequest(configuration.getQueueName());
-        if (getConfiguration().isFifoQueue()) {
-            request.getAttributes().put(QueueAttributeName.FifoQueue.name(), String.valueOf(true));
-            boolean useContentBasedDeduplication
-                    = getConfiguration().getMessageDeduplicationIdStrategy() instanceof NullMessageDeduplicationIdStrategy;
-            request.getAttributes().put(QueueAttributeName.ContentBasedDeduplication.name(),
-                    String.valueOf(useContentBasedDeduplication));
-        }
-        if (getConfiguration().getDefaultVisibilityTimeout() != null) {
-            request.getAttributes().put(QueueAttributeName.VisibilityTimeout.name(),
-                    String.valueOf(getConfiguration().getDefaultVisibilityTimeout()));
-        }
-        if (getConfiguration().getMaximumMessageSize() != null) {
-            request.getAttributes().put(QueueAttributeName.MaximumMessageSize.name(),
-                    String.valueOf(getConfiguration().getMaximumMessageSize()));
-        }
-        if (getConfiguration().getMessageRetentionPeriod() != null) {
-            request.getAttributes().put(QueueAttributeName.MessageRetentionPeriod.name(),
-                    String.valueOf(getConfiguration().getMessageRetentionPeriod()));
-        }
-        if (getConfiguration().getPolicy() != null) {
-            request.getAttributes().put(QueueAttributeName.Policy.name(), String.valueOf(getConfiguration().getPolicy()));
-        }
-        if (getConfiguration().getReceiveMessageWaitTimeSeconds() != null) {
-            request.getAttributes().put(QueueAttributeName.ReceiveMessageWaitTimeSeconds.name(),
-                    String.valueOf(getConfiguration().getReceiveMessageWaitTimeSeconds()));
-        }
-        if (getConfiguration().getDelaySeconds() != null && getConfiguration().isDelayQueue()) {
-            request.getAttributes().put(QueueAttributeName.DelaySeconds.name(),
-                    String.valueOf(getConfiguration().getDelaySeconds()));
-        }
-        if (getConfiguration().getRedrivePolicy() != null) {
-            request.getAttributes().put(QueueAttributeName.RedrivePolicy.name(), getConfiguration().getRedrivePolicy());
-        }
-        if (getConfiguration().isServerSideEncryptionEnabled()) {
-            if (getConfiguration().getKmsMasterKeyId() != null) {
-                request.getAttributes().put(QueueAttributeName.KmsMasterKeyId.name(), getConfiguration().getKmsMasterKeyId());
-            }
-            if (getConfiguration().getKmsDataKeyReusePeriodSeconds() != null) {
-                request.getAttributes().put(QueueAttributeName.KmsDataKeyReusePeriodSeconds.name(),
-                        String.valueOf(getConfiguration().getKmsDataKeyReusePeriodSeconds()));
-            }
-        }
-        LOG.trace("Creating queue [{}] with request [{}]...", configuration.getQueueName(), request);
-
-        CreateQueueResult queueResult = client.createQueue(request);
-        queueUrl = queueResult.getQueueUrl();
-
-        LOG.trace("Queue created and available at: {}", queueUrl);
-    }
-
-    private void updateQueueAttributes(AmazonSQS client) {
-        SetQueueAttributesRequest request = new SetQueueAttributesRequest();
-        request.setQueueUrl(queueUrl);
-        if (getConfiguration().getDefaultVisibilityTimeout() != null) {
-            request.getAttributes().put(QueueAttributeName.VisibilityTimeout.name(),
-                    String.valueOf(getConfiguration().getDefaultVisibilityTimeout()));
-        }
-        if (getConfiguration().getMaximumMessageSize() != null) {
-            request.getAttributes().put(QueueAttributeName.MaximumMessageSize.name(),
-                    String.valueOf(getConfiguration().getMaximumMessageSize()));
-        }
-        if (getConfiguration().getMessageRetentionPeriod() != null) {
-            request.getAttributes().put(QueueAttributeName.MessageRetentionPeriod.name(),
-                    String.valueOf(getConfiguration().getMessageRetentionPeriod()));
-        }
-        if (getConfiguration().getPolicy() != null) {
-            request.getAttributes().put(QueueAttributeName.Policy.name(), String.valueOf(getConfiguration().getPolicy()));
-        }
-        if (getConfiguration().getReceiveMessageWaitTimeSeconds() != null) {
-            request.getAttributes().put(QueueAttributeName.ReceiveMessageWaitTimeSeconds.name(),
-                    String.valueOf(getConfiguration().getReceiveMessageWaitTimeSeconds()));
-        }
-        if (getConfiguration().getDelaySeconds() != null && getConfiguration().isDelayQueue()) {
-            request.getAttributes().put(QueueAttributeName.DelaySeconds.name(),
-                    String.valueOf(getConfiguration().getDelaySeconds()));
-        }
-        if (getConfiguration().getRedrivePolicy() != null) {
-            request.getAttributes().put(QueueAttributeName.RedrivePolicy.name(), getConfiguration().getRedrivePolicy());
-        }
-        if (getConfiguration().isServerSideEncryptionEnabled()) {
-            if (getConfiguration().getKmsMasterKeyId() != null) {
-                request.getAttributes().put(QueueAttributeName.KmsMasterKeyId.name(), getConfiguration().getKmsMasterKeyId());
-            }
-            if (getConfiguration().getKmsDataKeyReusePeriodSeconds() != null) {
-                request.getAttributes().put(QueueAttributeName.KmsDataKeyReusePeriodSeconds.name(),
-                        String.valueOf(getConfiguration().getKmsDataKeyReusePeriodSeconds()));
-            }
-        }
-        if (!request.getAttributes().isEmpty()) {
-            LOG.trace("Updating queue '{}' with the provided queue attributes...", configuration.getQueueName());
-            client.setQueueAttributes(request);
-            LOG.trace("Queue '{}' updated and available at {}'", configuration.getQueueName(), queueUrl);
-        }
-    }
-
-    @Override
-    public void doStop() throws Exception {
-        if (ObjectHelper.isEmpty(configuration.getAmazonSQSClient())) {
-            if (client != null) {
-                client.shutdown();
-            }
-        }
-        super.doStop();
-    }
-
-    public Exchange createExchange(com.amazonaws.services.sqs.model.Message msg) {
-        return createExchange(getExchangePattern(), msg);
-    }
-
-    private Exchange createExchange(ExchangePattern pattern, com.amazonaws.services.sqs.model.Message msg) {
-        Exchange exchange = super.createExchange(pattern);
-        Message message = exchange.getIn();
-        message.setBody(msg.getBody());
-        message.setHeaders(new HashMap<>(msg.getAttributes()));
-        message.setHeader(SqsConstants.MESSAGE_ID, msg.getMessageId());
-        message.setHeader(SqsConstants.MD5_OF_BODY, msg.getMD5OfBody());
-        message.setHeader(SqsConstants.RECEIPT_HANDLE, msg.getReceiptHandle());
-        message.setHeader(SqsConstants.ATTRIBUTES, msg.getAttributes());
-        message.setHeader(SqsConstants.MESSAGE_ATTRIBUTES, msg.getMessageAttributes());
-
-        // Need to apply the SqsHeaderFilterStrategy this time
-        HeaderFilterStrategy headerFilterStrategy = getHeaderFilterStrategy();
-        // add all sqs message attributes as camel message headers so that
-        // knowledge of
-        // the Sqs class MessageAttributeValue will not leak to the client
-        for (Entry<String, MessageAttributeValue> entry : msg.getMessageAttributes().entrySet()) {
-            String header = entry.getKey();
-            Object value = translateValue(entry.getValue());
-            if (!headerFilterStrategy.applyFilterToExternalHeaders(header, value, exchange)) {
-                message.setHeader(header, value);
-            }
-        }
-        return exchange;
-    }
-
-    public SqsConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    public void setConfiguration(SqsConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    public AmazonSQS getClient() {
-        if (client == null) {
-            client = createClient();
-        }
-        return client;
-    }
-
-    public void setClient(AmazonSQS client) {
-        this.client = client;
-    }
-
-    /**
-     * Provide the possibility to override this method for an mock implementation
-     *
-     * @return AmazonSQSClient
-     */
-    AmazonSQS createClient() {
-        AmazonSQS client;
-        AmazonSQSClientBuilder clientBuilder;
-        ClientConfiguration clientConfiguration = null;
-        boolean isClientConfigFound = false;
-        if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
-            clientConfiguration = new ClientConfiguration();
-            clientConfiguration.setProxyProtocol(configuration.getProxyProtocol());
-            clientConfiguration.setProxyHost(configuration.getProxyHost());
-            clientConfiguration.setProxyPort(configuration.getProxyPort());
-            isClientConfigFound = true;
-        }
-
-        final String protocol = configuration.getProtocol();
-
-        if (protocol.equals("http")) {
-            LOG.trace("Configuring AWS-SQS for HTTP protocol");
-            if (isClientConfigFound) {
-                clientConfiguration = clientConfiguration.withProtocol(Protocol.HTTP);
-            } else {
-                clientConfiguration = new ClientConfiguration().withProtocol(Protocol.HTTP);
-                isClientConfigFound = true;
-            }
-        }
-
-        if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) {
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            if (isClientConfigFound) {
-                clientBuilder = AmazonSQSClientBuilder.standard().withClientConfiguration(clientConfiguration)
-                        .withCredentials(credentialsProvider);
-            } else {
-                clientBuilder = AmazonSQSClientBuilder.standard().withCredentials(credentialsProvider);
-            }
-        } else {
-            if (isClientConfigFound) {
-                clientBuilder = AmazonSQSClientBuilder.standard().withClientConfiguration(clientConfiguration);
-            } else {
-                clientBuilder = AmazonSQSClientBuilder.standard();
-            }
-        }
-
-        final String host = getFullyQualifiedAWSHost();
-        final String region = Regions.valueOf(configuration.getRegion()).getName();
-
-        LOG.debug("Creating endpoint for host {} on region {}", host, region);
-        clientBuilder.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(host, region));
-
-        client = clientBuilder.build();
-        return client;
-    }
-
-    protected String getQueueUrl() {
-        return queueUrl;
-    }
-
-    public int getMaxMessagesPerPoll() {
-        return maxMessagesPerPoll;
-    }
-
-    /**
-     * Gets the maximum number of messages as a limit to poll at each polling.
-     * <p/>
-     * Is default unlimited, but use 0 or negative number to disable it as unlimited.
-     */
-    public void setMaxMessagesPerPoll(int maxMessagesPerPoll) {
-        this.maxMessagesPerPoll = maxMessagesPerPoll;
-    }
-
-    private Object translateValue(MessageAttributeValue mav) {
-        Object result = null;
-        if (mav.getStringValue() != null) {
-            result = mav.getStringValue();
-        } else if (mav.getBinaryValue() != null) {
-            result = mav.getBinaryValue();
-        }
-        return result;
-    }
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsHeaderFilterStrategy.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsHeaderFilterStrategy.java
deleted file mode 100644
index 8892ec1..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsHeaderFilterStrategy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.support.DefaultHeaderFilterStrategy;
-
-public class SqsHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
-    public SqsHeaderFilterStrategy() {
-        initialize();
-    }
-
-    protected void initialize() {
-        // filter headers begin with "Camel" or "org.apache.camel"
-        setOutFilterPattern("(breadcrumbId|Camel|org\\.apache\\.camel)[\\.|a-z|A-z|0-9]*");
-    }
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsOperations.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsOperations.java
deleted file mode 100644
index 2ef17c7..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsOperations.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-public enum SqsOperations {
-
-    sendBatchMessage,
-    deleteMessage,
-    listQueues
-}
diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
deleted file mode 100644
index 660dfd1..0000000
--- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.UUID;
-
-import com.amazonaws.services.sqs.AmazonSQS;
-import com.amazonaws.services.sqs.model.DeleteMessageRequest;
-import com.amazonaws.services.sqs.model.DeleteMessageResult;
-import com.amazonaws.services.sqs.model.ListQueuesRequest;
-import com.amazonaws.services.sqs.model.ListQueuesResult;
-import com.amazonaws.services.sqs.model.MessageAttributeValue;
-import com.amazonaws.services.sqs.model.SendMessageBatchRequest;
-import com.amazonaws.services.sqs.model.SendMessageBatchRequestEntry;
-import com.amazonaws.services.sqs.model.SendMessageBatchResult;
-import com.amazonaws.services.sqs.model.SendMessageRequest;
-import com.amazonaws.services.sqs.model.SendMessageResult;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.NoFactoryAvailableException;
-import org.apache.camel.spi.HeaderFilterStrategy;
-import org.apache.camel.support.DefaultProducer;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Producer which sends messages to the Amazon Web Service Simple Queue Service
- * <a href="http://aws.amazon.com/sqs/">AWS SQS</a>
- */
-public class SqsProducer extends DefaultProducer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(SqsProducer.class);
-
-    private transient String sqsProducerToString;
-
-    public SqsProducer(SqsEndpoint endpoint) throws NoFactoryAvailableException {
-        super(endpoint);
-        if (endpoint.getConfiguration().isFifoQueue()
-                && ObjectHelper.isEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
-            throw new IllegalArgumentException("messageGroupIdStrategy must be set for FIFO queues.");
-        }
-    }
-
-    @Override
-    public void process(Exchange exchange) throws Exception {
-        SqsOperations operation = determineOperation(exchange);
-        if (ObjectHelper.isEmpty(operation)) {
-            processSingleMessage(exchange);
-        } else {
-            switch (operation) {
-                case sendBatchMessage:
-                    sendBatchMessage(getClient(), exchange);
-                    break;
-                case deleteMessage:
-                    deleteMessage(getClient(), exchange);
-                    break;
-                case listQueues:
-                    listQueues(getClient(), exchange);
-                    break;
-                default:
-                    throw new IllegalArgumentException("Unsupported operation");
-            }
-        }
-    }
-
-    public void processSingleMessage(final Exchange exchange) {
-        String body = exchange.getIn().getBody(String.class);
-        SendMessageRequest request = new SendMessageRequest(getQueueUrl(), body);
-        request.setMessageAttributes(translateAttributes(exchange.getIn().getHeaders(), exchange));
-        addDelay(request, exchange);
-        configureFifoAttributes(request, exchange);
-
-        LOG.trace("Sending request [{}] from exchange [{}]...", request, exchange);
-
-        SendMessageResult result = getClient().sendMessage(request);
-
-        LOG.trace("Received result [{}]", result);
-
-        Message message = getMessageForResponse(exchange);
-        message.setHeader(SqsConstants.MESSAGE_ID, result.getMessageId());
-        message.setHeader(SqsConstants.MD5_OF_BODY, result.getMD5OfMessageBody());
-    }
-
-    private void sendBatchMessage(AmazonSQS amazonSQS, Exchange exchange) {
-        SendMessageBatchRequest request = new SendMessageBatchRequest(getQueueUrl());
-        Collection<SendMessageBatchRequestEntry> entries = new ArrayList<>();
-        if (exchange.getIn().getBody() instanceof Iterable) {
-            Iterable c = exchange.getIn().getBody(Iterable.class);
-            for (Object o : c) {
-                String object = (String) o;
-                SendMessageBatchRequestEntry entry = new SendMessageBatchRequestEntry();
-                entry.setId(UUID.randomUUID().toString());
-                entry.setMessageAttributes(translateAttributes(exchange.getIn().getHeaders(), exchange));
-                entry.setMessageBody(object);
-                addDelay(entry, exchange);
-                configureFifoAttributes(entry, exchange);
-                entries.add(entry);
-            }
-            request.setEntries(entries);
-            SendMessageBatchResult result = amazonSQS.sendMessageBatch(request);
-            Message message = getMessageForResponse(exchange);
-            message.setBody(result);
-        } else {
-            request = exchange.getIn().getBody(SendMessageBatchRequest.class);
-            SendMessageBatchResult result = amazonSQS.sendMessageBatch(request);
-            Message message = getMessageForResponse(exchange);
-            message.setBody(result);
-        }
-    }
-
-    private void deleteMessage(AmazonSQS amazonSQS, Exchange exchange) {
-        String receiptHandle = exchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE, String.class);
-        DeleteMessageRequest request = new DeleteMessageRequest();
-        request.setQueueUrl(getQueueUrl());
-        if (ObjectHelper.isEmpty(receiptHandle)) {
-            throw new IllegalArgumentException("Receipt Handle must be specified for the operation deleteMessage");
-        }
-        request.setReceiptHandle(receiptHandle);
-        DeleteMessageResult result = amazonSQS.deleteMessage(request);
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listQueues(AmazonSQS amazonSQS, Exchange exchange) {
-        ListQueuesRequest request = new ListQueuesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(SqsConstants.SQS_QUEUE_PREFIX))) {
-            request.setQueueNamePrefix(exchange.getIn().getHeader(SqsConstants.SQS_QUEUE_PREFIX, String.class));
-        }
-        ListQueuesResult result = amazonSQS.listQueues(request);
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void configureFifoAttributes(SendMessageRequest request, Exchange exchange) {
-        if (getEndpoint().getConfiguration().isFifoQueue()) {
-            // use strategies
-            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
-            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
-            request.setMessageGroupId(messageGroupId);
-
-            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
-                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
-            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
-            request.setMessageDeduplicationId(messageDeduplicationId);
-
-        }
-    }
-
-    private void configureFifoAttributes(SendMessageBatchRequestEntry request, Exchange exchange) {
-        if (getEndpoint().getConfiguration().isFifoQueue()) {
-            // use strategies
-            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
-            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
-            request.setMessageGroupId(messageGroupId);
-
-            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
-                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
-            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
-            request.setMessageDeduplicationId(messageDeduplicationId);
-
-        }
-    }
-
-    private void addDelay(SendMessageRequest request, Exchange exchange) {
-        Integer headerValue = exchange.getIn().getHeader(SqsConstants.DELAY_HEADER, Integer.class);
-        Integer delayValue;
-        if (headerValue == null) {
-            LOG.trace("Using the config delay");
-            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
-        } else {
-            LOG.trace("Using the header delay");
-            delayValue = headerValue;
-        }
-        LOG.trace("found delay: {}", delayValue);
-        request.setDelaySeconds(delayValue == null ? Integer.valueOf(0) : delayValue);
-    }
-
-    private void addDelay(SendMessageBatchRequestEntry request, Exchange exchange) {
-        Integer headerValue = exchange.getIn().getHeader(SqsConstants.DELAY_HEADER, Integer.class);
-        Integer delayValue;
-        if (headerValue == null) {
-            LOG.trace("Using the config delay");
-            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
-        } else {
-            LOG.trace("Using the header delay");
-            delayValue = headerValue;
-        }
-        LOG.trace("found delay: {}", delayValue);
-        request.setDelaySeconds(delayValue == null ? Integer.valueOf(0) : delayValue);
-    }
-
-    protected AmazonSQS getClient() {
-        return getEndpoint().getClient();
-    }
-
-    protected String getQueueUrl() {
-        return getEndpoint().getQueueUrl();
-    }
-
-    protected SqsConfiguration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-
-    @Override
-    public SqsEndpoint getEndpoint() {
-        return (SqsEndpoint) super.getEndpoint();
-    }
-
-    @Override
-    public String toString() {
-        if (sqsProducerToString == null) {
-            sqsProducerToString = "SqsProducer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
-        }
-        return sqsProducerToString;
-    }
-
-    Map<String, MessageAttributeValue> translateAttributes(Map<String, Object> headers, Exchange exchange) {
-        Map<String, MessageAttributeValue> result = new HashMap<>();
-        HeaderFilterStrategy headerFilterStrategy = getEndpoint().getHeaderFilterStrategy();
-        for (Entry<String, Object> entry : headers.entrySet()) {
-            // only put the message header which is not filtered into the
-            // message attribute
-            if (!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), exchange)) {
-                Object value = entry.getValue();
-                if (value instanceof String && !((String) value).isEmpty()) {
-                    MessageAttributeValue mav = new MessageAttributeValue();
-                    mav.setDataType("String");
-                    mav.withStringValue((String) value);
-                    result.put(entry.getKey(), mav);
-                } else if (value instanceof ByteBuffer) {
-                    MessageAttributeValue mav = new MessageAttributeValue();
-                    mav.setDataType("Binary");
-                    mav.withBinaryValue((ByteBuffer) value);
-                    result.put(entry.getKey(), mav);
-                } else if (value instanceof Boolean) {
-                    MessageAttributeValue mav = new MessageAttributeValue();
-                    mav.setDataType("Number.Boolean");
-                    mav.withStringValue(((Boolean) value) ? "1" : "0");
-                    result.put(entry.getKey(), mav);
-                } else if (value instanceof Number) {
-                    MessageAttributeValue mav = new MessageAttributeValue();
-                    final String dataType;
-                    if (value instanceof Integer) {
-                        dataType = "Number.int";
-                    } else if (value instanceof Byte) {
-                        dataType = "Number.byte";
-                    } else if (value instanceof Double) {
-                        dataType = "Number.double";
-                    } else if (value instanceof Float) {
-                        dataType = "Number.float";
-                    } else if (value instanceof Long) {
-                        dataType = "Number.long";
-                    } else if (value instanceof Short) {
-                        dataType = "Number.short";
-                    } else {
-                        dataType = "Number";
-                    }
-                    mav.setDataType(dataType);
-                    mav.withStringValue(value.toString());
-                    result.put(entry.getKey(), mav);
-                } else if (value instanceof Date) {
-                    MessageAttributeValue mav = new MessageAttributeValue();
-                    mav.setDataType("String");
-                    mav.withStringValue(value.toString());
-                    result.put(entry.getKey(), mav);
-                } else {
-                    // cannot translate the message header to message attribute
-                    // value
-                    LOG.warn("Cannot put the message header key={}, value={} into Sqs MessageAttribute", entry.getKey(),
-                            entry.getValue());
-                }
-            }
-        }
-        return result;
-    }
-
-    public static Message getMessageForResponse(final Exchange exchange) {
-        return exchange.getMessage();
-    }
-
-    private SqsOperations determineOperation(Exchange exchange) {
-        SqsOperations operation = exchange.getIn().getHeader(SqsConstants.SQS_OPERATION, SqsOperations.class);
-        if (operation == null) {
-            operation = getConfiguration().getOperation();
-        }
-        return operation;
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/AmazonSQSClientMock.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/AmazonSQSClientMock.java
deleted file mode 100644
index 0e3b1d4..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/AmazonSQSClientMock.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-
-import com.amazonaws.AmazonClientException;
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.services.sqs.AbstractAmazonSQS;
-import com.amazonaws.services.sqs.model.BatchResultErrorEntry;
-import com.amazonaws.services.sqs.model.ChangeMessageVisibilityRequest;
-import com.amazonaws.services.sqs.model.ChangeMessageVisibilityResult;
-import com.amazonaws.services.sqs.model.CreateQueueRequest;
-import com.amazonaws.services.sqs.model.CreateQueueResult;
-import com.amazonaws.services.sqs.model.DeleteMessageRequest;
-import com.amazonaws.services.sqs.model.DeleteMessageResult;
-import com.amazonaws.services.sqs.model.ListQueuesRequest;
-import com.amazonaws.services.sqs.model.ListQueuesResult;
-import com.amazonaws.services.sqs.model.Message;
-import com.amazonaws.services.sqs.model.ReceiveMessageRequest;
-import com.amazonaws.services.sqs.model.ReceiveMessageResult;
-import com.amazonaws.services.sqs.model.SendMessageBatchRequest;
-import com.amazonaws.services.sqs.model.SendMessageBatchResult;
-import com.amazonaws.services.sqs.model.SendMessageBatchResultEntry;
-import com.amazonaws.services.sqs.model.SendMessageRequest;
-import com.amazonaws.services.sqs.model.SendMessageResult;
-import com.amazonaws.services.sqs.model.SetQueueAttributesRequest;
-import com.amazonaws.services.sqs.model.SetQueueAttributesResult;
-
-public class AmazonSQSClientMock extends AbstractAmazonSQS {
-
-    List<Message> messages = new ArrayList<>();
-    Map<String, Map<String, String>> queueAttributes = new HashMap<>();
-    List<ChangeMessageVisibilityRequest> changeMessageVisibilityRequests = new CopyOnWriteArrayList<>();
-    private Map<String, CreateQueueRequest> queues = new LinkedHashMap<>();
-    private Map<String, ScheduledFuture<?>> inFlight = new LinkedHashMap<>();
-    private ScheduledExecutorService scheduler;
-
-    public AmazonSQSClientMock() {
-    }
-
-    @Override
-    public ListQueuesResult listQueues() throws AmazonServiceException, AmazonClientException {
-        ListQueuesResult result = new ListQueuesResult();
-        return result;
-    }
-
-    @Override
-    public ListQueuesResult listQueues(ListQueuesRequest request) {
-        ListQueuesResult result = new ListQueuesResult();
-        List<String> queues = new ArrayList<>();
-        queues.add("queue1");
-        queues.add("queue2");
-        result.setQueueUrls(queues);
-        return result;
-    }
-
-    @Override
-    public CreateQueueResult createQueue(CreateQueueRequest createQueueRequest)
-            throws AmazonServiceException, AmazonClientException {
-        String queueName = "https://queue.amazonaws.com/541925086079/" + createQueueRequest.getQueueName();
-        queues.put(queueName, createQueueRequest);
-        CreateQueueResult result = new CreateQueueResult();
-        result.setQueueUrl(queueName);
-        return result;
-    }
-
-    @Override
-    public SendMessageResult sendMessage(SendMessageRequest sendMessageRequest)
-            throws AmazonServiceException, AmazonClientException {
-        Message message = new Message();
-        message.setBody(sendMessageRequest.getMessageBody());
-        message.setMD5OfBody("6a1559560f67c5e7a7d5d838bf0272ee");
-        message.setMessageId("f6fb6f99-5eb2-4be4-9b15-144774141458");
-        message.setReceiptHandle(
-                "0NNAq8PwvXsyZkR6yu4nQ07FGxNmOBWi5zC9+4QMqJZ0DJ3gVOmjI2Gh/oFnb0IeJqy5Zc8kH4JX7GVpfjcEDjaAPSeOkXQZRcaBqt"
-                                 + "4lOtyfj0kcclVV/zS7aenhfhX5Ixfgz/rHhsJwtCPPvTAdgQFGYrqaHly+etJiawiNPVc=");
-
-        synchronized (messages) {
-            messages.add(message);
-        }
-
-        SendMessageResult result = new SendMessageResult();
-        result.setMessageId("f6fb6f99-5eb2-4be4-9b15-144774141458");
-        result.setMD5OfMessageBody("6a1559560f67c5e7a7d5d838bf0272ee");
-        return result;
-    }
-
-    @Override
-    public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest)
-            throws AmazonServiceException, AmazonClientException {
-        Integer maxNumberOfMessages = receiveMessageRequest.getMaxNumberOfMessages() != null
-                ? receiveMessageRequest.getMaxNumberOfMessages() : Integer.MAX_VALUE;
-        ReceiveMessageResult result = new ReceiveMessageResult();
-        Collection<Message> resultMessages = new ArrayList<>();
-
-        synchronized (messages) {
-            int fetchSize = 0;
-            for (Iterator<Message> iterator = messages.iterator();
-                 iterator.hasNext() && fetchSize < maxNumberOfMessages;
-                 fetchSize++) {
-                Message rc = iterator.next();
-                resultMessages.add(rc);
-                iterator.remove();
-                scheduleCancelInflight(receiveMessageRequest.getQueueUrl(), rc);
-            }
-        }
-
-        result.setMessages(resultMessages);
-        return result;
-    }
-
-    /*
-     * Cancel (put back onto queue) in flight messages if the visibility time
-     * has expired and has not been manually deleted (ack'd)
-     */
-    private void scheduleCancelInflight(final String queueUrl, final Message message) {
-        if (scheduler != null) {
-            int visibility = getVisibilityForQueue(queueUrl);
-            if (visibility > 0) {
-                ScheduledFuture<?> task = scheduler.schedule(new Runnable() {
-                    @Override
-                    public void run() {
-                        synchronized (messages) {
-                            // put it back!
-                            messages.add(message);
-                        }
-                    }
-                }, visibility, TimeUnit.SECONDS);
-
-                inFlight.put(message.getReceiptHandle(), task);
-            }
-        }
-    }
-
-    private int getVisibilityForQueue(String queueUrl) {
-        Map<String, String> queueAttr = queues.get(queueUrl).getAttributes();
-        if (queueAttr.containsKey("VisibilityTimeout")) {
-            return Integer.parseInt(queueAttr.get("VisibilityTimeout"));
-        }
-        return 0;
-    }
-
-    public ScheduledExecutorService getScheduler() {
-        return scheduler;
-    }
-
-    public void setScheduler(ScheduledExecutorService scheduler) {
-        this.scheduler = scheduler;
-    }
-
-    @Override
-    public DeleteMessageResult deleteMessage(DeleteMessageRequest deleteMessageRequest) throws AmazonClientException {
-        String receiptHandle = deleteMessageRequest.getReceiptHandle();
-        if (inFlight.containsKey(receiptHandle)) {
-            ScheduledFuture<?> inFlightTask = inFlight.get(receiptHandle);
-            inFlightTask.cancel(true);
-        }
-        return new DeleteMessageResult();
-    }
-
-    @Override
-    public SetQueueAttributesResult setQueueAttributes(SetQueueAttributesRequest setQueueAttributesRequest)
-            throws AmazonServiceException, AmazonClientException {
-        synchronized (queueAttributes) {
-            if (!queueAttributes.containsKey(setQueueAttributesRequest.getQueueUrl())) {
-                queueAttributes.put(setQueueAttributesRequest.getQueueUrl(), new HashMap<String, String>());
-            }
-            for (final Map.Entry<String, String> entry : setQueueAttributesRequest.getAttributes().entrySet()) {
-                queueAttributes.get(setQueueAttributesRequest.getQueueUrl()).put(entry.getKey(), entry.getValue());
-            }
-        }
-        return new SetQueueAttributesResult();
-    }
-
-    @Override
-    public ChangeMessageVisibilityResult changeMessageVisibility(ChangeMessageVisibilityRequest changeMessageVisibilityRequest)
-            throws AmazonServiceException, AmazonClientException {
-        this.changeMessageVisibilityRequests.add(changeMessageVisibilityRequest);
-        return new ChangeMessageVisibilityResult();
-    }
-
-    @Override
-    public SendMessageBatchResult sendMessageBatch(SendMessageBatchRequest request) {
-        SendMessageBatchResult result = new SendMessageBatchResult();
-        Collection<SendMessageBatchResultEntry> entriesSuccess = new ArrayList<>();
-        SendMessageBatchResultEntry entry1 = new SendMessageBatchResultEntry();
-        SendMessageBatchResultEntry entry2 = new SendMessageBatchResultEntry();
-        entry1.setId("team1");
-        entry2.setId("team2");
-        entriesSuccess.add(entry1);
-        entriesSuccess.add(entry2);
-        Collection<BatchResultErrorEntry> entriesFail = new ArrayList<>();
-        BatchResultErrorEntry entry3 = new BatchResultErrorEntry();
-        BatchResultErrorEntry entry4 = new BatchResultErrorEntry();
-        entry3.setId("team1");
-        entry4.setId("team4");
-        entriesFail.add(entry3);
-        entriesFail.add(entry4);
-        result.setSuccessful(entriesSuccess);
-        result.setFailed(entriesFail);
-        return result;
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsBatchConsumerTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsBatchConsumerTest.java
deleted file mode 100644
index ff247d1..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsBatchConsumerTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.services.sqs.model.Message;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-public class SqsBatchConsumerTest extends CamelTestSupport {
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @Test
-    public void receiveBatch() throws Exception {
-        mock.expectedMessageCount(5);
-        assertMockEndpointsSatisfied();
-
-        mock.message(0).exchangeProperty(Exchange.BATCH_INDEX).isEqualTo(0);
-        mock.message(1).exchangeProperty(Exchange.BATCH_INDEX).isEqualTo(1);
-        mock.message(2).exchangeProperty(Exchange.BATCH_INDEX).isEqualTo(2);
-        mock.message(3).exchangeProperty(Exchange.BATCH_INDEX).isEqualTo(3);
-        mock.message(4).exchangeProperty(Exchange.BATCH_INDEX).isEqualTo(4);
-        mock.message(0).exchangeProperty(Exchange.BATCH_COMPLETE).isEqualTo(false);
-        mock.message(1).exchangeProperty(Exchange.BATCH_COMPLETE).isEqualTo(false);
-        mock.message(2).exchangeProperty(Exchange.BATCH_COMPLETE).isEqualTo(false);
-        mock.message(3).exchangeProperty(Exchange.BATCH_COMPLETE).isEqualTo(false);
-        mock.message(3).exchangeProperty(Exchange.BATCH_COMPLETE).isEqualTo(false);
-        mock.message(4).exchangeProperty(Exchange.BATCH_COMPLETE).isEqualTo(true);
-        mock.expectedPropertyReceived(Exchange.BATCH_SIZE, 5);
-    }
-
-    @BindToRegistry("amazonSQSClient")
-    public AmazonSQSClientMock addClient() throws Exception {
-
-        AmazonSQSClientMock clientMock = new AmazonSQSClientMock();
-        // add 6 messages, one more we will poll
-        for (int counter = 0; counter < 6; counter++) {
-            Message message = new Message();
-            message.setBody("Message " + counter);
-            message.setMD5OfBody("6a1559560f67c5e7a7d5d838bf0272ee");
-            message.setMessageId("f6fb6f99-5eb2-4be4-9b15-144774141458");
-            message.setReceiptHandle("0NNAq8PwvXsyZkR6yu4nQ07FGxNmOBWi5");
-
-            clientMock.messages.add(message);
-        }
-
-        return clientMock;
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&delay=5000&maxMessagesPerPoll=5").to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentClientRegistryTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentClientRegistryTest.java
deleted file mode 100644
index b50709b..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentClientRegistryTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-public class SqsComponentClientRegistryTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalSQSClientConfiguration() throws Exception {
-
-        AmazonSQSClientMock awsSQSClient = new AmazonSQSClientMock();
-        context.getRegistry().bind("awsSQSClient", awsSQSClient);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component.createEndpoint("aws-sqs://MyQueue");
-
-        assertNotNull(endpoint.getConfiguration().getAmazonSQSClient());
-    }
-
-    @Test
-    public void createEndpointWithMinimalSQSClientMisconfiguration() throws Exception {
-
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-sqs://MyQueue"));
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientFalse() throws Exception {
-
-        AmazonSQSClientMock awsSQSClient = new AmazonSQSClientMock();
-        context.getRegistry().bind("awsSQSClient", awsSQSClient);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component
-                .createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy&autoDiscoverClient=false");
-
-        assertNotSame(awsSQSClient, endpoint.getConfiguration().getAmazonSQSClient());
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientTrue() throws Exception {
-
-        AmazonSQSClientMock awsSQSClient = new AmazonSQSClientMock();
-        context.getRegistry().bind("awsSQSClient", awsSQSClient);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy");
-
-        assertSame(awsSQSClient, endpoint.getConfiguration().getAmazonSQSClient());
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
deleted file mode 100644
index 1d45f2c..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.regions.Regions;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-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;
-
-public class SqsComponentConfigurationTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalConfiguration() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component
-                .createEndpoint("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&accessKey=xxx&secretKey=yyy");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNotNull(endpoint.getConfiguration().getAmazonSQSClient());
-        assertNull(endpoint.getConfiguration().getAttributeNames());
-        assertNull(endpoint.getConfiguration().getMessageAttributeNames());
-        assertNull(endpoint.getConfiguration().getDefaultVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getMaximumMessageSize());
-        assertNull(endpoint.getConfiguration().getMessageRetentionPeriod());
-        assertNull(endpoint.getConfiguration().getPolicy());
-        assertNull(endpoint.getConfiguration().getRedrivePolicy());
-        assertNull(endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithOnlyAccessKeyAndSecretKey() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNull(endpoint.getConfiguration().getAmazonSQSClient());
-        assertNull(endpoint.getConfiguration().getAttributeNames());
-        assertNull(endpoint.getConfiguration().getMessageAttributeNames());
-        assertNull(endpoint.getConfiguration().getDefaultVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getMaximumMessageSize());
-        assertNull(endpoint.getConfiguration().getMessageRetentionPeriod());
-        assertNull(endpoint.getConfiguration().getPolicy());
-        assertNull(endpoint.getConfiguration().getRedrivePolicy());
-        assertNull(endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithOnlyAccessKeyAndSecretKeyAndRegion() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint
-                = (SqsEndpoint) component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy&region=US_WEST_1");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_WEST_1", endpoint.getConfiguration().getRegion());
-        assertNull(endpoint.getConfiguration().getAmazonSQSClient());
-        assertNull(endpoint.getConfiguration().getAttributeNames());
-        assertNull(endpoint.getConfiguration().getMessageAttributeNames());
-        assertNull(endpoint.getConfiguration().getDefaultVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getMaximumMessageSize());
-        assertNull(endpoint.getConfiguration().getMessageRetentionPeriod());
-        assertNull(endpoint.getConfiguration().getPolicy());
-        assertNull(endpoint.getConfiguration().getRedrivePolicy());
-    }
-
-    @Test
-    public void createEndpointWithMinimalArnConfiguration() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component
-                .createEndpoint(
-                        "aws-sqs://arn:aws:sqs:us-east-1:account:MyQueue?amazonSQSClient=#amazonSQSClient&accessKey=xxx&secretKey=yyy&region=US_EAST_1");
-
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-        assertEquals("account", endpoint.getConfiguration().getQueueOwnerAWSAccountId());
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-    }
-
-    @Test
-    public void createEndpointAttributeNames() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component.createEndpoint(
-                "aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&accessKey=xxx&secretKey=yyy&attributeNames=foo,bar");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNotNull(endpoint.getConfiguration().getAmazonSQSClient());
-        assertEquals("foo,bar", endpoint.getConfiguration().getAttributeNames());
-    }
-
-    @Test
-    public void createEndpointWithMinimalConfigurationAndProvidedClient() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component.createEndpoint("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertNull(endpoint.getConfiguration().getAccessKey());
-        assertNull(endpoint.getConfiguration().getSecretKey());
-        assertSame(mock, endpoint.getConfiguration().getAmazonSQSClient());
-        assertNull(endpoint.getConfiguration().getAttributeNames());
-        assertNull(endpoint.getConfiguration().getMessageAttributeNames());
-        assertNull(endpoint.getConfiguration().getDefaultVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getVisibilityTimeout());
-        assertNull(endpoint.getConfiguration().getMaximumMessageSize());
-        assertNull(endpoint.getConfiguration().getMessageRetentionPeriod());
-        assertNull(endpoint.getConfiguration().getPolicy());
-        assertNull(endpoint.getConfiguration().getRedrivePolicy());
-        assertNull(endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithMaximalConfiguration() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-
-        SqsEndpoint endpoint = (SqsEndpoint) component
-                .createEndpoint("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&accessKey=xxx"
-                                + "&secretKey=yyy&attributeNames=color,size"
-                                + "&messageAttributeNames=msgColor,msgSize&defaultVisibilityTimeout=1000&visibilityTimeout=2000&maximumMessageSize=65536&messageRetentionPeriod=1209600&policy="
-                                + "%7B%22Version%22%3A%222008-10-17%22%2C%22Id%22%3A%22%2F195004372649%2FMyQueue%2FSQSDefaultPolicy%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22Queue1ReceiveMessage%22%2C%22"
-                                + "Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22*%22%7D%2C%22Action%22%3A%22SQS%3AReceiveMessage%22%2C%22Resource%22%3A%22%2F195004372649%2FMyQueue%22%7D%5D%7D"
-                                + "&delaySeconds=123&receiveMessageWaitTimeSeconds=10&waitTimeSeconds=20"
-                                + "&queueOwnerAWSAccountId=111222333&region=us-east-1"
-                                + "&redrivePolicy={\"maxReceiveCount\":\"5\", \"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:195004372649:MyDeadLetterQueue\"}");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNotNull(endpoint.getConfiguration().getAmazonSQSClient());
-        assertEquals("color,size", endpoint.getConfiguration().getAttributeNames());
-        assertEquals("msgColor,msgSize", endpoint.getConfiguration().getMessageAttributeNames());
-        assertEquals(Integer.valueOf(1000), endpoint.getConfiguration().getDefaultVisibilityTimeout());
-        assertEquals(Integer.valueOf(2000), endpoint.getConfiguration().getVisibilityTimeout());
-        assertEquals(Integer.valueOf(65536), endpoint.getConfiguration().getMaximumMessageSize());
-        assertEquals(Integer.valueOf(1209600), endpoint.getConfiguration().getMessageRetentionPeriod());
-        assertEquals(
-                "{\"Version\":\"2008-10-17\",\"Id\":\"/195004372649/MyQueue/SQSDefaultPolicy\",\"Statement\":[{\"Sid\":\"Queue1ReceiveMessage\",\"Effect\":\"Allow\",\"Principal\":"
-                     + "{\"AWS\":\"*\"},\"Action\":\"SQS:ReceiveMessage\",\"Resource\":\"/195004372649/MyQueue\"}]}",
-                endpoint.getConfiguration().getPolicy());
-        assertEquals(
-                "{\"maxReceiveCount\":\"5\", \"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:195004372649:MyDeadLetterQueue\"}",
-                endpoint.getConfiguration().getRedrivePolicy());
-        assertEquals(Integer.valueOf(123), endpoint.getConfiguration().getDelaySeconds());
-        assertEquals(Integer.valueOf(10), endpoint.getConfiguration().getReceiveMessageWaitTimeSeconds());
-        assertEquals(Integer.valueOf(20), endpoint.getConfiguration().getWaitTimeSeconds());
-        assertEquals("111222333", endpoint.getConfiguration().getQueueOwnerAWSAccountId());
-        assertEquals("us-east-1", endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithPollConsumerConfiguration() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        SqsEndpoint endpoint = (SqsEndpoint) component
-                .createEndpoint("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient"
-                                + "&accessKey=xxx&secretKey=yyy&initialDelay=300&delay=400&maxMessagesPerPoll=50");
-        SqsConsumer consumer = (SqsConsumer) endpoint.createConsumer(null);
-
-        assertEquals(300, consumer.getInitialDelay());
-        assertEquals(400, consumer.getDelay());
-        assertEquals(50, consumer.getMaxMessagesPerPoll());
-    }
-
-    @Test
-    public void createEndpointWithoutAccessKeyConfiguration() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-sqs://MyQueue?secretKey=yyy"));
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyConfiguration() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx"));
-    }
-
-    // Setting extendMessageVisibility on an SQS consumer should make
-    // visibilityTimeout compulsory
-    @Test
-    public void createEndpointWithExtendMessageVisibilityAndNoVisibilityTimeoutThrowsException() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy&extendMessageVisibility=true"));
-    }
-
-    @Test
-    public void createEndpointWithExtendMessageVisibilityTrueAndVisibilityTimeoutSet() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        assertNotNull(component.createEndpoint(
-                "aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&accessKey=xxx&secretKey=yyy&visibilityTimeout=30&extendMessageVisibility=true"));
-    }
-
-    @Test
-    public void createEndpointWithExtendMessageVisibilityFalseAndVisibilityTimeoutSet() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        assertNotNull(component
-                .createEndpoint(
-                        "aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&accessKey=xxx&secretKey=yyy&visibilityTimeout=30&extendMessageVisibility=false"));
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyAndAccessKeyConfiguration() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        component.createEndpoint("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient");
-    }
-
-    @Test
-    public void createEndpointWithComponentElements() throws Exception {
-        AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-        context.getRegistry().bind("amazonSQSClient", mock);
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        SqsEndpoint endpoint = (SqsEndpoint) component.createEndpoint("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("XXX", endpoint.getConfiguration().getAccessKey());
-        assertEquals("YYY", endpoint.getConfiguration().getSecretKey());
-    }
-
-    @Test
-    public void createEndpointWithComponentAndEndpointElements() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        SqsEndpoint endpoint
-                = (SqsEndpoint) component.createEndpoint("aws-sqs://MyQueue?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithoutAutoCreation() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        SqsEndpoint endpoint = (SqsEndpoint) component
-                .createEndpoint("aws-sqs://MyQueue?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1&autoCreateQueue=false");
-
-        assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-        assertEquals(false, endpoint.getConfiguration().isAutoCreateQueue());
-    }
-
-    @Test
-    public void createEndpointWithComponentEndpointElementsAndProxy() throws Exception {
-        SqsComponent component = context.getComponent("aws-sqs", SqsComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        SqsEndpoint endpoint = (SqsEndpoint) component.createEndpoint(
-                "aws-sqs://label?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1&proxyHost=localhost&proxyPort=9000&proxyProtocol=HTTP");
-
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-        assertEquals(Protocol.HTTP, endpoint.getConfiguration().getProxyProtocol());
-        assertEquals("localhost", endpoint.getConfiguration().getProxyHost());
-        assertEquals(Integer.valueOf(9000), endpoint.getConfiguration().getProxyPort());
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentSpringTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentSpringTest.java
deleted file mode 100644
index 45216f2..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentSpringTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.amazonaws.services.sqs.model.DeleteMessageResult;
-import com.amazonaws.services.sqs.model.SendMessageBatchResult;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class SqsComponentSpringTest extends CamelSpringTestSupport {
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void sendInOnly() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        Exchange resultExchange = result.getExchanges().get(0);
-        assertEquals("This is my message text.", resultExchange.getIn().getBody());
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.ATTRIBUTES));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ATTRIBUTES));
-
-        assertNotNull(exchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-    }
-
-    @Test
-    public void sendInOut() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOut, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        Exchange resultExchange = result.getExchanges().get(0);
-        assertEquals("This is my message text.", resultExchange.getIn().getBody());
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.ATTRIBUTES));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ATTRIBUTES));
-
-        assertNotNull(exchange.getMessage().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", exchange.getMessage().getHeader(SqsConstants.MD5_OF_BODY));
-    }
-
-    @Test
-    public void sendBatchMessage() throws Exception {
-        result.expectedMessageCount(1);
-
-        template.send("direct:start-batch", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection c = new ArrayList<Integer>();
-                c.add("team1");
-                c.add("team2");
-                c.add("team3");
-                c.add("team4");
-                exchange.getIn().setBody(c);
-            }
-        });
-        assertMockEndpointsSatisfied();
-        SendMessageBatchResult res = result.getExchanges().get(0).getIn().getBody(SendMessageBatchResult.class);
-        assertEquals(2, res.getFailed().size());
-        assertEquals(2, res.getSuccessful().size());
-    }
-
-    @Test
-    public void deleteMessage() throws Exception {
-        result.expectedMessageCount(1);
-
-        template.send("direct:start-delete", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(SqsConstants.RECEIPT_HANDLE, "123456");
-            }
-        });
-        assertMockEndpointsSatisfied();
-        DeleteMessageResult res = result.getExchanges().get(0).getIn().getBody(DeleteMessageResult.class);
-        assertNotNull(res);
-    }
-
-    @Override
-    protected ClassPathXmlApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml");
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentTest.java
deleted file mode 100644
index ccab35b..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class SqsComponentTest extends CamelTestSupport {
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @BindToRegistry("amazonSQSClient")
-    private AmazonSQSClientMock client = new AmazonSQSClientMock();
-
-    @Test
-    public void sendInOnly() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        Exchange resultExchange = result.getExchanges().get(0);
-        assertEquals("This is my message text.", resultExchange.getIn().getBody());
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.ATTRIBUTES));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ATTRIBUTES));
-
-        assertEquals("This is my message text.", exchange.getIn().getBody());
-        assertNotNull(exchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", exchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-    }
-
-    @Test
-    public void sendInOut() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOut, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        Exchange resultExchange = result.getExchanges().get(0);
-        assertEquals("This is my message text.", resultExchange.getIn().getBody());
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.ATTRIBUTES));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ATTRIBUTES));
-
-        assertEquals("This is my message text.", exchange.getMessage().getBody());
-        assertNotNull(exchange.getMessage().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", exchange.getMessage().getHeader(SqsConstants.MD5_OF_BODY));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            final String sqsURI = String.format(
-                    "aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&messageRetentionPeriod=%s&maximumMessageSize=%s&policy=%s",
-                    "1209600", "65536",
-                    "");
-
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to(sqsURI);
-
-                from(sqsURI).to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentVerifierExtensionTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentVerifierExtensionTest.java
deleted file mode 100644
index 6b46f92..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentVerifierExtensionTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.Component;
-import org.apache.camel.component.extension.ComponentVerifierExtension;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SqsComponentVerifierExtensionTest extends CamelTestSupport {
-
-    // *************************************************
-    // Tests (parameters)
-    // *************************************************
-    @Override
-    public boolean isUseRouteBuilder() {
-        return false;
-    }
-
-    @Test
-    public void testParameters() throws Exception {
-        Component component = context().getComponent("aws-sqs");
-
-        ComponentVerifierExtension verifier
-                = component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("secretKey", "l");
-        parameters.put("accessKey", "k");
-        parameters.put("region", "l");
-        parameters.put("queueNameOrArn", "bucket1");
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.PARAMETERS, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.OK, result.getStatus());
-    }
-
-    @Test
-    public void testConnectivity() throws Exception {
-        Component component = context().getComponent("aws-sqs");
-        ComponentVerifierExtension verifier
-                = component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("secretKey", "l");
-        parameters.put("accessKey", "k");
-        parameters.put("region", "US_EAST_1");
-        parameters.put("queueNameOrArn", "test12");
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, result.getStatus());
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConcurrentConsumerTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConcurrentConsumerTest.java
deleted file mode 100644
index e5170b4..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConcurrentConsumerTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import com.amazonaws.services.sqs.model.Message;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.NotifyBuilder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.apache.camel.test.junit5.TestSupport.isPlatform;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-
-public class SqsConcurrentConsumerTest extends CamelTestSupport {
-    private static final int NUM_CONCURRENT = 10;
-    private static final int NUM_MESSAGES = 100;
-
-    final Set<Long> threadNumbers = new HashSet<>();
-
-    @Test
-    public void consumeMessagesFromQueue() throws Exception {
-        // simple test to make sure that concurrent consumers were used in the
-        // test
-
-        NotifyBuilder notifier = new NotifyBuilder(context).whenCompleted(NUM_MESSAGES).create();
-        assertTrue(notifier.matches(5, TimeUnit.SECONDS), "We didn't process " + NUM_MESSAGES + " messages as we expected!");
-
-        if (isPlatform("windows")) {
-            // threading is different on windows
-        } else {
-            // usually we use all threads evenly but sometimes threads are
-            // reused so just test that 50%+ was used
-            if (threadNumbers.size() < (NUM_CONCURRENT / 2)) {
-                fail(String.format(
-                        "We were expecting to have about half of %d numbers of concurrent consumers, but only found %d",
-                        NUM_CONCURRENT, threadNumbers.size()));
-            }
-        }
-    }
-
-    @BindToRegistry("client")
-    public AmazonSQSClientMock addClient() throws Exception {
-        AmazonSQSClientMock client = new AmazonSQSClientMock();
-        createDummyMessages(client, NUM_MESSAGES);
-        return client;
-    }
-
-    private void createDummyMessages(AmazonSQSClientMock client, int numMessages) {
-        for (int counter = 0; counter < numMessages; counter++) {
-            Message message = new Message();
-            message.setBody("Message " + counter);
-            message.setMD5OfBody("6a1559560f67c5e7a7d5d838bf0272ee");
-            message.setMessageId("f6fb6f99-5eb2-4be4-9b15-144774141458");
-            message.setReceiptHandle("0NNAq8PwvXsyZkR6yu4nQ07FGxNmOBWi5");
-            client.messages.add(message);
-        }
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("aws-sqs://demo?concurrentConsumers=" + NUM_CONCURRENT + "&maxMessagesPerPoll=10&amazonSQSClient=#client")
-                        .process(new Processor() {
-                            @Override
-                            public void process(Exchange exchange) throws Exception {
-                                threadNumbers.add(Thread.currentThread().getId());
-                            }
-                        }).log("processed a new message!");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConfigurationTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConfigurationTest.java
deleted file mode 100644
index 28209b7..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConfigurationTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-
-public class SqsConfigurationTest {
-
-    @Test
-    public void itReturnsAnInformativeErrorForBadMessageGroupIdStrategy() throws Exception {
-        SqsConfiguration sqsConfiguration = new SqsConfiguration();
-        try {
-            sqsConfiguration.setMessageGroupIdStrategy("useUnknownStrategy");
-            fail("Should have thrown exception");
-        } catch (Exception e) {
-            assertTrue(e.getMessage().startsWith("Unrecognised MessageGroupIdStrategy"),
-                    "Bad error message: " + e.getMessage());
-        }
-    }
-
-    @Test
-    public void itReturnsAnInformativeErrorForBadMessageDeduplicationIdStrategy() throws Exception {
-        SqsConfiguration sqsConfiguration = new SqsConfiguration();
-        try {
-            sqsConfiguration.setMessageDeduplicationIdStrategy("useUnknownStrategy");
-            fail("Should have thrown exception");
-        } catch (Exception e) {
-            assertTrue(e.getMessage().startsWith("Unrecognised MessageDeduplicationIdStrategy"),
-                    "Bad error message: " + e.getMessage());
-        }
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConsumerIdleMessageTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConsumerIdleMessageTest.java
deleted file mode 100644
index 1f04398..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsConsumerIdleMessageTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertNull;
-
-/**
- * Test to verify that the polling consumer delivers an empty Exchange when the sendEmptyMessageWhenIdle property is set
- * and a polling event yields no results.
- */
-public class SqsConsumerIdleMessageTest extends CamelTestSupport {
-
-    @BindToRegistry("amazonSQSClient")
-    private AmazonSQSClientMock client = new AmazonSQSClientMock();
-
-    @Test
-    public void testConsumeIdleMessages() throws Exception {
-        Thread.sleep(110);
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMinimumMessageCount(2);
-        assertMockEndpointsSatisfied();
-        assertNull(mock.getExchanges().get(0).getIn().getBody());
-        assertNull(mock.getExchanges().get(1).getIn().getBody());
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&delay=50&maxMessagesPerPoll=5"
-                     + "&sendEmptyMessageWhenIdle=true").to("mock:result");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsDoesNotExtendMessageVisibilityTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsDoesNotExtendMessageVisibilityTest.java
deleted file mode 100644
index 88bf902..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsDoesNotExtendMessageVisibilityTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.services.sqs.model.Message;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SqsDoesNotExtendMessageVisibilityTest extends CamelTestSupport {
-
-    private static final int TIMEOUT = 4; // 4 seconds.
-    private static final String RECEIPT_HANDLE = "0NNAq8PwvXsyZkR6yu4nQ07FGxNmOBWi5";
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @BindToRegistry("amazonSQSClient")
-    private AmazonSQSClientMock client = new AmazonSQSClientMock();
-
-    @Test
-    public void defaultsToDisabled() throws Exception {
-        this.mock.expectedMessageCount(1);
-        this.mock.whenAnyExchangeReceived(new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                // Simulate message that takes a while to receive.
-                Thread.sleep(TIMEOUT * 1500L); // 150% of TIMEOUT.
-            }
-        });
-
-        Message message = new Message();
-        message.setBody("Message 1");
-        message.setMD5OfBody("6a1559560f67c5e7a7d5d838bf0272ee");
-        message.setMessageId("f6fb6f99-5eb2-4be4-9b15-144774141458");
-        message.setReceiptHandle(RECEIPT_HANDLE);
-        this.client.messages.add(message);
-
-        assertMockEndpointsSatisfied(); // Wait for message to arrive.
-        assertEquals(0, this.client.changeMessageVisibilityRequests.size(), "Expected no changeMessageVisibility requests.");
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient").to("mock:result");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointExplicitQueueUrlTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointExplicitQueueUrlTest.java
deleted file mode 100644
index d90183d..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointExplicitQueueUrlTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.services.sqs.AmazonSQSClient;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SqsEndpointExplicitQueueUrlTest {
-
-    private static final String QUEUE_URL = "http://localhost:9324/queue/default";
-    private SqsEndpoint endpoint;
-    private AmazonSQSClient amazonSQSClient;
-
-    @BeforeEach
-    public void setUp() {
-        amazonSQSClient = Mockito.mock(AmazonSQSClient.class);
-
-        SqsConfiguration config = new SqsConfiguration();
-        config.setQueueUrl(QUEUE_URL);
-        config.setAmazonSQSClient(amazonSQSClient);
-
-        endpoint = new SqsEndpoint("aws-sqs://test-queue", new SqsComponent(new DefaultCamelContext()), config);
-    }
-
-    @Test
-    public void doStartWithExplicitQueueUrlInConfigShouldNotCallSqsClientListQueues() throws Exception {
-        endpoint.doInit();
-
-        assertEquals(QUEUE_URL, endpoint.getQueueUrl());
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointTest.java
deleted file mode 100644
index 4e9e8da..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointTest.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.services.sqs.AmazonSQSClient;
-import com.amazonaws.services.sqs.model.CreateQueueRequest;
-import com.amazonaws.services.sqs.model.CreateQueueResult;
-import com.amazonaws.services.sqs.model.GetQueueUrlRequest;
-import com.amazonaws.services.sqs.model.GetQueueUrlResult;
-import com.amazonaws.services.sqs.model.ListQueuesResult;
-import com.amazonaws.services.sqs.model.QueueAttributeName;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.ArgumentMatchers;
-import org.mockito.Mockito;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SqsEndpointTest {
-
-    private SqsEndpoint endpoint;
-    private AmazonSQSClient amazonSQSClient;
-    private SqsConfiguration config;
-
-    @BeforeEach
-    public void setUp() throws Exception {
-        amazonSQSClient = Mockito.mock(AmazonSQSClient.class);
-
-        config = new SqsConfiguration();
-        config.setQueueName("test-queue");
-        config.setAmazonSQSClient(amazonSQSClient);
-
-        endpoint = new SqsEndpoint("aws-sqs://test-queue", new SqsComponent(new DefaultCamelContext()), config);
-
-    }
-
-    @Test
-    public void doStartShouldNotCallUpdateQueueAttributesIfQueueExistAndNoOptionIsSpecified() throws Exception {
-        Mockito.when(amazonSQSClient.listQueues())
-                .thenReturn(new ListQueuesResult().withQueueUrls("https://sqs.us-east-1.amazonaws.com/ID/dummy-queue",
-                        "https://sqs.us-east-1.amazonaws.com/ID/test-queue"));
-
-        endpoint.doInit();
-
-        Mockito.verify(amazonSQSClient).listQueues();
-    }
-
-    @Test
-    public void doStartWithDifferentQueueOwner() throws Exception {
-
-        GetQueueUrlRequest expectedGetQueueUrlRequest
-                = new GetQueueUrlRequest("test-queue").withQueueOwnerAWSAccountId("111222333");
-        Mockito.when(amazonSQSClient.getQueueUrl(expectedGetQueueUrlRequest))
-                .thenReturn(new GetQueueUrlResult().withQueueUrl("https://sqs.us-east-1.amazonaws.com/111222333/test-queue"));
-
-        endpoint.getConfiguration().setQueueOwnerAWSAccountId("111222333");
-        endpoint.doInit();
-
-        Mockito.verify(amazonSQSClient).getQueueUrl(expectedGetQueueUrlRequest);
-
-    }
-
-    @Test
-    public void createQueueShouldCreateFifoQueueWithContentBasedDeduplication() {
-        config.setQueueName("test-queue.fifo");
-        config.setMessageDeduplicationIdStrategy("useContentBasedDeduplication");
-
-        CreateQueueRequest expectedCreateQueueRequest
-                = new CreateQueueRequest("test-queue.fifo").addAttributesEntry(QueueAttributeName.FifoQueue.name(), "true")
-                        .addAttributesEntry(QueueAttributeName.ContentBasedDeduplication.name(), "true");
-        Mockito.when(amazonSQSClient.createQueue(ArgumentMatchers.any(CreateQueueRequest.class)))
-                .thenReturn(
-                        new CreateQueueResult().withQueueUrl("https://sqs.us-east-1.amazonaws.com/111222333/test-queue.fifo"));
-
-        endpoint.createQueue(amazonSQSClient);
-
-        Mockito.verify(amazonSQSClient).createQueue(expectedCreateQueueRequest);
-        assertEquals("https://sqs.us-east-1.amazonaws.com/111222333/test-queue.fifo", endpoint.getQueueUrl());
-    }
-
-    @Test
-    public void createQueueShouldCreateFifoQueueWithoutContentBasedDeduplication() {
-        config.setQueueName("test-queue.fifo");
-        config.setMessageDeduplicationIdStrategy("useExchangeId");
-
-        CreateQueueRequest expectedCreateQueueRequest
-                = new CreateQueueRequest("test-queue.fifo").addAttributesEntry(QueueAttributeName.FifoQueue.name(), "true")
-                        .addAttributesEntry(QueueAttributeName.ContentBasedDeduplication.name(), "false");
-        Mockito.when(amazonSQSClient.createQueue(ArgumentMatchers.any(CreateQueueRequest.class)))
-                .thenReturn(
-                        new CreateQueueResult().withQueueUrl("https://sqs.us-east-1.amazonaws.com/111222333/test-queue.fifo"));
-
-        endpoint.createQueue(amazonSQSClient);
-
-        Mockito.verify(amazonSQSClient).createQueue(expectedCreateQueueRequest);
-        assertEquals("https://sqs.us-east-1.amazonaws.com/111222333/test-queue.fifo", endpoint.getQueueUrl());
-    }
-
-    @Test
-    public void createQueueShouldCreateStandardQueueWithCorrectAttributes() {
-        config.setDefaultVisibilityTimeout(1000);
-        config.setMaximumMessageSize(128);
-        config.setMessageRetentionPeriod(1000);
-        config.setPolicy("{\"Version\": \"2012-10-17\"}");
-        config.setReceiveMessageWaitTimeSeconds(5);
-        config.setRedrivePolicy("{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }");
-
-        CreateQueueRequest expectedCreateQueueRequest
-                = new CreateQueueRequest("test-queue").addAttributesEntry(QueueAttributeName.VisibilityTimeout.name(), "1000")
-                        .addAttributesEntry(QueueAttributeName.MaximumMessageSize.name(), "128")
-                        .addAttributesEntry(QueueAttributeName.MessageRetentionPeriod.name(), "1000")
-                        .addAttributesEntry(QueueAttributeName.Policy.name(), "{\"Version\": \"2012-10-17\"}")
-                        .addAttributesEntry(QueueAttributeName.ReceiveMessageWaitTimeSeconds.name(), "5")
-                        .addAttributesEntry(QueueAttributeName.RedrivePolicy.name(),
-                                "{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }");
-        Mockito.when(amazonSQSClient.createQueue(ArgumentMatchers.any(CreateQueueRequest.class)))
-                .thenReturn(new CreateQueueResult().withQueueUrl("https://sqs.us-east-1.amazonaws.com/111222333/test-queue"));
-
-        endpoint.createQueue(amazonSQSClient);
-
-        Mockito.verify(amazonSQSClient).createQueue(expectedCreateQueueRequest);
-        assertEquals("https://sqs.us-east-1.amazonaws.com/111222333/test-queue", endpoint.getQueueUrl());
-    }
-
-    @Test
-    public void createQueueWithSSEShouldCreateStandardQueueWithSSESet() {
-        config.setDefaultVisibilityTimeout(1000);
-        config.setMaximumMessageSize(128);
-        config.setMessageRetentionPeriod(1000);
-        config.setPolicy("{\"Version\": \"2012-10-17\"}");
-        config.setReceiveMessageWaitTimeSeconds(5);
-        config.setRedrivePolicy("{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }");
-        config.setKmsMasterKeyId("keyMaster1");
-        config.setKmsDataKeyReusePeriodSeconds(300);
-        config.setServerSideEncryptionEnabled(true);
-
-        CreateQueueRequest expectedCreateQueueRequest
-                = new CreateQueueRequest("test-queue").addAttributesEntry(QueueAttributeName.VisibilityTimeout.name(), "1000")
-                        .addAttributesEntry(QueueAttributeName.MaximumMessageSize.name(), "128")
-                        .addAttributesEntry(QueueAttributeName.MessageRetentionPeriod.name(), "1000")
-                        .addAttributesEntry(QueueAttributeName.Policy.name(), "{\"Version\": \"2012-10-17\"}")
-                        .addAttributesEntry(QueueAttributeName.ReceiveMessageWaitTimeSeconds.name(), "5")
-                        .addAttributesEntry(QueueAttributeName.KmsMasterKeyId.name(), "keyMaster1")
-                        .addAttributesEntry(QueueAttributeName.KmsDataKeyReusePeriodSeconds.name(), "300")
-                        .addAttributesEntry(QueueAttributeName.RedrivePolicy.name(),
-                                "{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }");
-        Mockito.when(amazonSQSClient.createQueue(ArgumentMatchers.any(CreateQueueRequest.class)))
-                .thenReturn(new CreateQueueResult().withQueueUrl("https://sqs.us-east-1.amazonaws.com/111222333/test-queue"));
-
-        endpoint.createQueue(amazonSQSClient);
-
-        Mockito.verify(amazonSQSClient).createQueue(expectedCreateQueueRequest);
-        assertEquals("https://sqs.us-east-1.amazonaws.com/111222333/test-queue", endpoint.getQueueUrl());
-    }
-
-    @Test
-    public void createQueueWithoutSSEShouldNotCreateStandardQueueWithSSESet() {
-        config.setDefaultVisibilityTimeout(1000);
-        config.setMaximumMessageSize(128);
-        config.setMessageRetentionPeriod(1000);
-        config.setPolicy("{\"Version\": \"2012-10-17\"}");
-        config.setReceiveMessageWaitTimeSeconds(5);
-        config.setRedrivePolicy("{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }");
-        config.setKmsMasterKeyId("keyMaster1");
-        config.setKmsDataKeyReusePeriodSeconds(300);
-
-        CreateQueueRequest expectedCreateQueueRequest
-                = new CreateQueueRequest("test-queue").addAttributesEntry(QueueAttributeName.VisibilityTimeout.name(), "1000")
-                        .addAttributesEntry(QueueAttributeName.MaximumMessageSize.name(), "128")
-                        .addAttributesEntry(QueueAttributeName.MessageRetentionPeriod.name(), "1000")
-                        .addAttributesEntry(QueueAttributeName.Policy.name(), "{\"Version\": \"2012-10-17\"}")
-                        .addAttributesEntry(QueueAttributeName.ReceiveMessageWaitTimeSeconds.name(), "5")
-                        .addAttributesEntry(QueueAttributeName.RedrivePolicy.name(),
-                                "{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }");
-        Mockito.when(amazonSQSClient.createQueue(ArgumentMatchers.any(CreateQueueRequest.class)))
-                .thenReturn(new CreateQueueResult().withQueueUrl("https://sqs.us-east-1.amazonaws.com/111222333/test-queue"));
-
-        endpoint.createQueue(amazonSQSClient);
-
-        Mockito.verify(amazonSQSClient).createQueue(expectedCreateQueueRequest);
-        assertEquals("https://sqs.us-east-1.amazonaws.com/111222333/test-queue", endpoint.getQueueUrl());
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointUseExistingQueueTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointUseExistingQueueTest.java
deleted file mode 100644
index 013ba86..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointUseExistingQueueTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.List;
-
-import com.amazonaws.AmazonClientException;
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.services.sqs.AmazonSQSClient;
-import com.amazonaws.services.sqs.model.CreateQueueRequest;
-import com.amazonaws.services.sqs.model.CreateQueueResult;
-import com.amazonaws.services.sqs.model.ListQueuesResult;
-import com.amazonaws.services.sqs.model.Message;
-import com.amazonaws.services.sqs.model.ReceiveMessageRequest;
-import com.amazonaws.services.sqs.model.ReceiveMessageResult;
-import com.amazonaws.services.sqs.model.SetQueueAttributesRequest;
-import com.amazonaws.services.sqs.model.SetQueueAttributesResult;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-public class SqsEndpointUseExistingQueueTest extends CamelTestSupport {
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @BindToRegistry("amazonSQSClient")
-    private AmazonSQSClientMock client = new SqsEndpointUseExistingQueueTest.AmazonSQSClientMock();
-
-    @Test
-    public void defaultsToDisabled() throws Exception {
-        this.mock.expectedMessageCount(1);
-
-        assertMockEndpointsSatisfied(); // Wait for message to arrive.
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient").to("mock:result");
-            }
-        };
-    }
-
-    static class AmazonSQSClientMock extends AmazonSQSClient {
-
-        AmazonSQSClientMock() {
-            super(new BasicAWSCredentials("myAccessKey", "mySecretKey"));
-        }
-
-        @Override
-        public ListQueuesResult listQueues() throws AmazonServiceException, AmazonClientException {
-            ListQueuesResult result = new ListQueuesResult();
-            result.getQueueUrls().add("http://queue.amazonaws.com/0815/Foo");
-            result.getQueueUrls().add("http://queue.amazonaws.com/0815/MyQueue");
-            result.getQueueUrls().add("http://queue.amazonaws.com/0815/Bar");
-            return result;
-        }
-
-        @Override
-        public CreateQueueResult createQueue(CreateQueueRequest createQueueRequest)
-                throws AmazonServiceException, AmazonClientException {
-            throw new AmazonServiceException("forced exception for test if this method is called");
-        }
-
-        @Override
-        public SetQueueAttributesResult setQueueAttributes(SetQueueAttributesRequest setQueueAttributesRequest)
-                throws AmazonServiceException, AmazonClientException {
-            return new SetQueueAttributesResult();
-        }
-
-        @Override
-        public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest)
-                throws AmazonServiceException, AmazonClientException {
-            ReceiveMessageResult result = new ReceiveMessageResult();
-            List<Message> resultMessages = result.getMessages();
-            Message message = new Message();
-            resultMessages.add(message);
-
-            return result;
-        }
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.java
deleted file mode 100644
index 6e557de..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.services.sqs.model.ChangeMessageVisibilityRequest;
-import com.amazonaws.services.sqs.model.Message;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class SqsExtendMessageVisibilityTest extends CamelTestSupport {
-
-    private static final int TIMEOUT = 4; // 4 seconds.
-    private static final String RECEIPT_HANDLE = "0NNAq8PwvXsyZkR6yu4nQ07FGxNmOBWi5";
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @BindToRegistry("amazonSQSClient")
-    private AmazonSQSClientMock client = new AmazonSQSClientMock();
-
-    @Test
-    public void longReceiveExtendsMessageVisibility() throws Exception {
-        this.mock.expectedMessageCount(1);
-        this.mock.whenAnyExchangeReceived(new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                // Simulate message that takes a while to receive.
-                Thread.sleep(TIMEOUT * 1500L); // 150% of TIMEOUT.
-            }
-        });
-
-        Message message = new Message();
-        message.setBody("Message 1");
-        message.setMD5OfBody("6a1559560f67c5e7a7d5d838bf0272ee");
-        message.setMessageId("f6fb6f99-5eb2-4be4-9b15-144774141458");
-        message.setReceiptHandle(RECEIPT_HANDLE);
-        this.client.messages.add(message);
-
-        assertMockEndpointsSatisfied(); // Wait for message to arrive.
-
-        assertTrue(this.client.changeMessageVisibilityRequests.size() >= 1,
-                "Expected at least one changeMessageVisibility request.");
-        for (ChangeMessageVisibilityRequest req : this.client.changeMessageVisibilityRequests) {
-            assertEquals("https://queue.amazonaws.com/541925086079/MyQueue", req.getQueueUrl());
-            assertEquals(RECEIPT_HANDLE, req.getReceiptHandle());
-            // Should be 1.5 x TIMEOUT as takes into account the delay period
-            Integer expectedTimeout = Integer.valueOf(6);
-            assertEquals(expectedTimeout, req.getVisibilityTimeout());
-        }
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&extendMessageVisibility=true&visibilityTimeout="
-                     + TIMEOUT).to("mock:result");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsFilterMessagesWithNoDeleteTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsFilterMessagesWithNoDeleteTest.java
deleted file mode 100644
index ebb007d..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsFilterMessagesWithNoDeleteTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.concurrent.TimeUnit;
-
-import com.amazonaws.services.sqs.model.Message;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.support.SimpleRegistry;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import static org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
-@Disabled("Test fails occationally on CI servers")
-public class SqsFilterMessagesWithNoDeleteTest {
-
-    // put some test messages onto the 'queue'
-    private void populateMessages(AmazonSQSClientMock clientMock) {
-        Message message = new Message();
-        message.setBody("Message: hello, world!");
-        message.setMD5OfBody("6a1559560f67c5e7a7d5d838bf0272ee");
-        message.setMessageId("f6fb6f99-5eb2-4be4-9b15-144774141458");
-        message.setReceiptHandle("0NNAq8PwvXsyZkR6yu4nQ07FGxNmOBWi5");
-
-        clientMock.messages.add(message);
-    }
-
-    @Test
-    public void testDoesNotGetThroughFilter() throws Exception {
-        final String sqsURI = String.format("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient"
-                                            // note we will NOT delete if this
-                                            // message gets filtered out
-                                            + "&deleteIfFiltered=false" + "&defaultVisibilityTimeout=1");
-
-        AmazonSQSClientMock clientMock = new AmazonSQSClientMock();
-        populateMessages(clientMock);
-        SimpleRegistry registry = new SimpleRegistry();
-
-        DefaultCamelContext ctx = new DefaultCamelContext(registry);
-        ctx.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from(sqsURI)
-                        // try to filter using a non-existent header... should not
-                        // go through
-                        .filter(simple("${header.login} == true")).to("mock:result");
-
-            }
-        });
-        MockEndpoint result = MockEndpoint.resolve(ctx, "mock:result");
-        clientMock.setScheduler(ctx.getExecutorServiceManager().newScheduledThreadPool(clientMock, "ClientMock Scheduler", 1));
-        registry.bind("amazonSQSClient", clientMock);
-
-        result.expectedMessageCount(0);
-
-        ctx.start();
-
-        // we shouldn't get
-        assertIsSatisfied(2000, TimeUnit.MILLISECONDS);
-
-        // however, the message should not be deleted, that is, it should be
-        // left on the queue
-        String response = ctx.createConsumerTemplate().receiveBody(sqsURI, 5000, String.class);
-
-        assertEquals("Message: hello, world!", response);
-
-        ctx.stop();
-        clientMock.shutdown();
-    }
-
-    @Test
-    public void testGetThroughFilter() throws Exception {
-        final String sqsURI = String.format("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient"
-                                            // note we will NOT delete if this
-                                            // message gets filtered out, but if
-                                            // it goes
-                                            // through filter, it should be
-                                            // deleted!
-                                            + "&deleteIfFiltered=false" + "&defaultVisibilityTimeout=1");
-
-        AmazonSQSClientMock clientMock = new AmazonSQSClientMock();
-        populateMessages(clientMock);
-        SimpleRegistry registry = new SimpleRegistry();
-
-        DefaultCamelContext ctx = new DefaultCamelContext(registry);
-        ctx.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from(sqsURI).setHeader("login", constant(true))
-
-                        // this filter should allow the message to pass..
-                        .filter(simple("${header.login} == true")).to("mock:result");
-
-            }
-        });
-        MockEndpoint result = MockEndpoint.resolve(ctx, "mock:result");
-        registry.bind("amazonSQSClient", clientMock);
-        clientMock.setScheduler(ctx.getExecutorServiceManager().newScheduledThreadPool(clientMock, "ClientMock Scheduler", 1));
-
-        result.expectedMessageCount(1);
-        ctx.start();
-
-        // the message should get through filter and mock should assert this
-        assertIsSatisfied(2000, TimeUnit.MILLISECONDS);
-
-        // however, the message should not be deleted, that is, it should be
-        // left on the queue
-        String response = ctx.createConsumerTemplate().receiveBody(sqsURI, 5000, String.class);
-
-        assertNull(response);
-
-        ctx.stop();
-        clientMock.shutdown();
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerBatchTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerBatchTest.java
deleted file mode 100644
index 58d0b64..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerBatchTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.amazonaws.services.sqs.model.SendMessageBatchResult;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SqsProducerBatchTest extends CamelTestSupport {
-
-    @BindToRegistry("client")
-    AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void sendBatchMessage() throws Exception {
-        result.expectedMessageCount(1);
-
-        template.send("direct:start", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection c = new ArrayList<Integer>();
-                c.add("team1");
-                c.add("team2");
-                c.add("team3");
-                c.add("team4");
-                exchange.getIn().setBody(c);
-            }
-        });
-        assertMockEndpointsSatisfied();
-        SendMessageBatchResult res = result.getExchanges().get(0).getIn().getBody(SendMessageBatchResult.class);
-        assertEquals(2, res.getFailed().size());
-        assertEquals(2, res.getSuccessful().size());
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to("aws-sqs://camel-1?amazonSQSClient=#client&operation=sendBatchMessage")
-                        .to("mock:result");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerDeleteTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerDeleteTest.java
deleted file mode 100644
index 585e3c7..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerDeleteTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.services.sqs.model.DeleteMessageResult;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class SqsProducerDeleteTest extends CamelTestSupport {
-
-    @BindToRegistry("client")
-    AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void deleteMessage() throws Exception {
-        result.expectedMessageCount(1);
-
-        template.send("direct:start", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(SqsConstants.RECEIPT_HANDLE, "123456");
-            }
-        });
-        assertMockEndpointsSatisfied();
-        DeleteMessageResult res = result.getExchanges().get(0).getIn().getBody(DeleteMessageResult.class);
-        assertNotNull(res);
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to("aws-sqs://camel-1?amazonSQSClient=#client&operation=deleteMessage").to("mock:result");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerListQueuesTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerListQueuesTest.java
deleted file mode 100644
index ab81fb8..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerListQueuesTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import com.amazonaws.services.sqs.model.ListQueuesResult;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class SqsProducerListQueuesTest extends CamelTestSupport {
-
-    @BindToRegistry("client")
-    AmazonSQSClientMock mock = new AmazonSQSClientMock();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void listQueues() throws Exception {
-        result.expectedMessageCount(1);
-
-        template.send("direct:start", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(SqsConstants.RECEIPT_HANDLE, "123456");
-            }
-        });
-        assertMockEndpointsSatisfied();
-        ListQueuesResult res = result.getExchanges().get(0).getIn().getBody(ListQueuesResult.class);
-        assertNotNull(res);
-        assertEquals(2, res.getQueueUrls().size());
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to("aws-sqs://camel-1?amazonSQSClient=#client&operation=listQueues").to("mock:result");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerTest.java
deleted file mode 100644
index de1788a..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerTest.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * 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.component.aws.sqs;
-
-import java.nio.ByteBuffer;
-import java.util.HashMap;
-import java.util.Map;
-
-import com.amazonaws.services.sqs.AmazonSQSClient;
-import com.amazonaws.services.sqs.model.MessageAttributeValue;
-import com.amazonaws.services.sqs.model.SendMessageRequest;
-import com.amazonaws.services.sqs.model.SendMessageResult;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.lenient;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(MockitoExtension.class)
-public class SqsProducerTest {
-    private static final String SAMPLE_MESSAGE_BODY = "this is a body";
-    private static final String MESSAGE_MD5 = "00000000000000000000000000000000";
-    private static final String MESSAGE_ID = "11111111111111111111111111111111";
-    private static final String QUEUE_URL = "some://queue/url";
-    private static final String SAMPLE_MESSAGE_HEADER_NAME_1 = "header_name_1";
-    private static final String SAMPLE_MESSAGE_HEADER_VALUE_1 = "heder_value_1";
-    private static final String SAMPLE_MESSAGE_HEADER_NAME_2 = "header_name_2";
-    private static final ByteBuffer SAMPLE_MESSAGE_HEADER_VALUE_2 = ByteBuffer.wrap(new byte[10]);
-    private static final String SAMPLE_MESSAGE_HEADER_NAME_3 = "header_name_3";
-    private static final String SAMPLE_MESSAGE_HEADER_VALUE_3 = "heder_value_3";
-    private static final String SAMPLE_MESSAGE_HEADER_NAME_4 = "CamelHeader_1";
-    private static final String SAMPLE_MESSAGE_HEADER_VALUE_4 = "testValue";
-    private static final String SAMPLE_EXCHANGE_ID = "ID:whatever-the-hostname-is-32818-1506943497897-1:1:8:1:75939";
-
-    @Mock
-    Exchange exchange;
-    @Mock
-    private SqsEndpoint sqsEndpoint;
-    @Mock
-    private AmazonSQSClient amazonSQSClient;
-    @Mock
-    private Message outMessage;
-    @Mock
-    private Message inMessage;
-
-    private SqsConfiguration sqsConfiguration;
-    private SqsProducer underTest;
-
-    @BeforeEach
-    public void setup() throws Exception {
-        sqsConfiguration = new SqsConfiguration();
-        sqsConfiguration.setDelaySeconds(0);
-        sqsConfiguration.setQueueName("queueName");
-        SendMessageResult sendMessageResult
-                = new SendMessageResult().withMD5OfMessageBody(MESSAGE_MD5).withMessageId(MESSAGE_ID);
-        lenient().when(amazonSQSClient.sendMessage(any(SendMessageRequest.class))).thenReturn(sendMessageResult);
-        lenient().when(sqsEndpoint.getClient()).thenReturn(amazonSQSClient);
-        lenient().when(sqsEndpoint.getConfiguration()).thenReturn(sqsConfiguration);
-        lenient().when(sqsEndpoint.getQueueUrl()).thenReturn(QUEUE_URL);
-        lenient().when(sqsEndpoint.getHeaderFilterStrategy()).thenReturn(new SqsHeaderFilterStrategy());
-        lenient().when(exchange.getMessage()).thenReturn(inMessage);
-        lenient().when(exchange.getIn()).thenReturn(inMessage);
-        lenient().when(exchange.getExchangeId()).thenReturn(SAMPLE_EXCHANGE_ID);
-        lenient().when(inMessage.getBody(String.class)).thenReturn(SAMPLE_MESSAGE_BODY);
-        underTest = new SqsProducer(sqsEndpoint);
-    }
-
-    @Test
-    public void translateAttributes() {
-        Map<String, Object> headers = new HashMap<>();
-        headers.put("key1", null);
-        headers.put("key2", "");
-        headers.put("key3", "value3");
-
-        Map<String, MessageAttributeValue> translateAttributes = underTest.translateAttributes(headers, exchange);
-
-        assertEquals(1, translateAttributes.size());
-        assertEquals("String", translateAttributes.get("key3").getDataType());
-        assertEquals("value3", translateAttributes.get("key3").getStringValue());
-    }
-
-    @Test
-    public void itSendsTheBodyFromAnExchange() throws Exception {
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-        assertEquals(SAMPLE_MESSAGE_BODY, capture.getValue().getMessageBody());
-    }
-
-    @Test
-    public void itSendsTheCorrectQueueUrl() throws Exception {
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-        assertEquals(QUEUE_URL, capture.getValue().getQueueUrl());
-    }
-
-    @Test
-    public void itSetsTheDelayFromTheConfigurationOnTheRequest() throws Exception {
-        sqsConfiguration.setDelaySeconds(Integer.valueOf(9001));
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-        assertEquals(9001, capture.getValue().getDelaySeconds().intValue());
-    }
-
-    @Test
-    public void itSetsTheDelayFromMessageHeaderOnTheRequest() throws Exception {
-        lenient().when(inMessage.getHeader(SqsConstants.DELAY_HEADER, Integer.class)).thenReturn(Integer.valueOf(2000));
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-        assertEquals(2000, capture.getValue().getDelaySeconds().intValue());
-    }
-
-    @Test
-    public void itSetsTheMessageIdOnTheExchangeMessage() throws Exception {
-        underTest.process(exchange);
-        verify(inMessage).setHeader(SqsConstants.MESSAGE_ID, MESSAGE_ID);
-    }
-
-    @Test
-    public void itSetsTheMd5SumOnTheExchangeMessage() throws Exception {
-        underTest.process(exchange);
-        verify(inMessage).setHeader(SqsConstants.MD5_OF_BODY, MESSAGE_MD5);
-    }
-
-    @Test
-    public void isAttributeMessageStringHeaderOnTheRequest() throws Exception {
-        Map<String, Object> headers = new HashMap<>();
-        headers.put(SAMPLE_MESSAGE_HEADER_NAME_1, SAMPLE_MESSAGE_HEADER_VALUE_1);
-        when(inMessage.getHeaders()).thenReturn(headers);
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals(SAMPLE_MESSAGE_HEADER_VALUE_1,
-                capture.getValue().getMessageAttributes().get(SAMPLE_MESSAGE_HEADER_NAME_1).getStringValue());
-        assertNull(capture.getValue().getMessageAttributes().get(SAMPLE_MESSAGE_HEADER_NAME_1).getBinaryValue());
-    }
-
-    @Test
-    public void isAttributeMessageByteBufferHeaderOnTheRequest() throws Exception {
-        Map<String, Object> headers = new HashMap<>();
-        headers.put(SAMPLE_MESSAGE_HEADER_NAME_2, SAMPLE_MESSAGE_HEADER_VALUE_2);
-        when(inMessage.getHeaders()).thenReturn(headers);
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals(SAMPLE_MESSAGE_HEADER_VALUE_2,
-                capture.getValue().getMessageAttributes().get(SAMPLE_MESSAGE_HEADER_NAME_2).getBinaryValue());
-        assertNull(capture.getValue().getMessageAttributes().get(SAMPLE_MESSAGE_HEADER_NAME_2).getStringValue());
-    }
-
-    @Test
-    public void isAllAttributeMessagesOnTheRequest() throws Exception {
-        Map<String, Object> headers = new HashMap<>();
-        headers.put(SAMPLE_MESSAGE_HEADER_NAME_1, SAMPLE_MESSAGE_HEADER_VALUE_1);
-        headers.put(SAMPLE_MESSAGE_HEADER_NAME_2, SAMPLE_MESSAGE_HEADER_VALUE_2);
-        headers.put(SAMPLE_MESSAGE_HEADER_NAME_3, SAMPLE_MESSAGE_HEADER_VALUE_3);
-        headers.put(SAMPLE_MESSAGE_HEADER_NAME_4, SAMPLE_MESSAGE_HEADER_VALUE_4);
-        when(inMessage.getHeaders()).thenReturn(headers);
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals(SAMPLE_MESSAGE_HEADER_VALUE_1,
-                capture.getValue().getMessageAttributes().get(SAMPLE_MESSAGE_HEADER_NAME_1).getStringValue());
-        assertEquals(SAMPLE_MESSAGE_HEADER_VALUE_2,
-                capture.getValue().getMessageAttributes().get(SAMPLE_MESSAGE_HEADER_NAME_2).getBinaryValue());
-        assertEquals(SAMPLE_MESSAGE_HEADER_VALUE_3,
-                capture.getValue().getMessageAttributes().get(SAMPLE_MESSAGE_HEADER_NAME_3).getStringValue());
-        assertEquals(3, capture.getValue().getMessageAttributes().size());
-    }
-
-    @Test
-    public void itSetsMessageGroupIdUsingConstantStrategy() throws Exception {
-        sqsConfiguration.setQueueName("queueName.fifo");
-        sqsConfiguration.setMessageGroupIdStrategy("useConstant");
-
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals("CamelSingleMessageGroup", capture.getValue().getMessageGroupId());
-    }
-
-    @Test
-    public void itFailsWhenFifoQueueAndNoMessageGroupIdStrategySet() {
-        try {
-            sqsConfiguration.setQueueName("queueName.fifo");
-            SqsProducer invalidProducer = new SqsProducer(sqsEndpoint);
-
-            fail("Should have thrown an exception");
-        } catch (Exception e) {
-            assertTrue(e.getMessage().startsWith("messageGroupIdStrategy must be set for FIFO queues"),
-                    "Bad error message: " + e.getMessage());
-        }
-    }
-
-    @Test
-    public void itSetsMessageGroupIdUsingExchangeIdStrategy() throws Exception {
-        sqsConfiguration.setQueueName("queueName.fifo");
-        sqsConfiguration.setMessageGroupIdStrategy("useExchangeId");
-
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals(SAMPLE_EXCHANGE_ID, capture.getValue().getMessageGroupId());
-    }
-
-    @Test
-    public void itSetsMessageGroupIdUsingHeaderValueStrategy() throws Exception {
-        sqsConfiguration.setQueueName("queueName.fifo");
-        sqsConfiguration.setMessageGroupIdStrategy("usePropertyValue");
-        when(exchange.getProperty(SqsConstants.MESSAGE_GROUP_ID_PROPERTY, String.class)).thenReturn("my-group-id");
-
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals("my-group-id", capture.getValue().getMessageGroupId());
-    }
-
-    @Test
-    public void itSetsMessageDedpulicationIdUsingExchangeIdStrategy() throws Exception {
-        sqsConfiguration.setQueueName("queueName.fifo");
-        sqsConfiguration.setMessageGroupIdStrategy("useConstant");
-        sqsConfiguration.setMessageDeduplicationIdStrategy("useExchangeId");
-
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals(SAMPLE_EXCHANGE_ID, capture.getValue().getMessageDeduplicationId());
-    }
-
-    @Test
-    public void itSetsMessageDedpulicationIdUsingExchangeIdStrategyAsDefault() throws Exception {
-        sqsConfiguration.setQueueName("queueName.fifo");
-        sqsConfiguration.setMessageGroupIdStrategy("useConstant");
-
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertEquals(SAMPLE_EXCHANGE_ID, capture.getValue().getMessageDeduplicationId());
-    }
-
-    @Test
-    public void itDoesNotSetMessageDedpulicationIdUsingContentBasedDeduplicationStrategy() throws Exception {
-        sqsConfiguration.setQueueName("queueName.fifo");
-        sqsConfiguration.setMessageGroupIdStrategy("useConstant");
-        sqsConfiguration.setMessageDeduplicationIdStrategy("useContentBasedDeduplication");
-
-        underTest.process(exchange);
-
-        ArgumentCaptor<SendMessageRequest> capture = ArgumentCaptor.forClass(SendMessageRequest.class);
-        verify(amazonSQSClient).sendMessage(capture.capture());
-
-        assertNull(capture.getValue().getMessageDeduplicationId());
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java
deleted file mode 100644
index a825e18..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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.component.aws.sqs.integration;
-
-import com.amazonaws.auth.AWSCredentials;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws.sqs.SqsConstants;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.infra.aws.common.SystemPropertiesAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.TestAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.services.AWSService;
-import org.apache.camel.test.infra.aws.services.AWSServiceFactory;
-import org.apache.camel.test.infra.common.SharedNameGenerator;
-import org.apache.camel.test.infra.common.TestEntityNameGenerator;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class SqsComponentIntegrationTest extends CamelTestSupport {
-
-    @SuppressWarnings("unused")
-    @RegisterExtension
-    public static AWSService service = AWSServiceFactory.createSQSService();
-
-    @RegisterExtension
-    public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void sendInOnly() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        Exchange resultExchange = result.getExchanges().get(0);
-        assertEquals("This is my message text.", resultExchange.getIn().getBody());
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.ATTRIBUTES));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ATTRIBUTES));
-
-        assertNotNull(exchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", exchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-    }
-
-    @Test
-    public void sendInOut() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOut, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        Exchange resultExchange = result.getExchanges().get(0);
-        assertEquals("This is my message text.", resultExchange.getIn().getBody());
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.ATTRIBUTES));
-        assertNotNull(resultExchange.getIn().getHeader(SqsConstants.MESSAGE_ATTRIBUTES));
-
-        assertNotNull(exchange.getMessage().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", exchange.getMessage().getHeader(SqsConstants.MD5_OF_BODY));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        TestAWSCredentialsProvider awsCredentialsProvider = new SystemPropertiesAWSCredentialsProvider();
-        AWSCredentials awsCredentials = awsCredentialsProvider.getCredentials();
-
-        final String sqsEndpointUri = String
-                .format("aws-sqs://%s?accessKey=%s&secretKey=%s&messageRetentionPeriod=%s&maximumMessageSize=%s&visibilityTimeout=%s&policy=%s&region=US_EAST_1&configuration=%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentials.getAWSAccessKeyId(),
-                        awsCredentials.getAWSSecretKey(),
-                        "1209600", "65536", "60",
-                        "%7B%22Version%22%3A%222008-10-17%22%2C%22Id%22%3A%22%2F195004372649%2FMyNewCamelQueue%2FSQSDefaultPolicy%22%2C%22"
-                                                  + "Statement%22%3A%5B%7B%22Sid%22%3A%22Queue1ReceiveMessage%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22*%22%7D%2C%22"
-                                                  + "Action%22%3A%22SQS%3AReceiveMessage%22%2C%22Resource%22%3A%22%2F195004372649%2FMyNewCamelQueue%22%7D%5D%7D",
-                        "#class:" + TestSqsConfiguration.class.getName());
-
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to(sqsEndpointUri);
-
-                from(sqsEndpointUri).to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsConsumerMessageIntegrationTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsConsumerMessageIntegrationTest.java
deleted file mode 100644
index b74b740..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsConsumerMessageIntegrationTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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.component.aws.sqs.integration;
-
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.infra.aws.common.SystemPropertiesAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.TestAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.services.AWSService;
-import org.apache.camel.test.infra.aws.services.AWSServiceFactory;
-import org.apache.camel.test.infra.common.SharedNameGenerator;
-import org.apache.camel.test.infra.common.TestEntityNameGenerator;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-public class SqsConsumerMessageIntegrationTest extends CamelTestSupport {
-
-    @SuppressWarnings("unused")
-    @RegisterExtension
-    public static AWSService service = AWSServiceFactory.createSQSService();
-
-    @RegisterExtension
-    public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void sendInOnly() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("ignore");
-            }
-        });
-
-        exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("test1");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        TestAWSCredentialsProvider awsCredentialsProvider = new SystemPropertiesAWSCredentialsProvider();
-
-        final String sqsEndpointUri
-                = String.format("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&configuration=#class:%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                        TestSqsConfiguration.class.getName());
-
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").startupOrder(2).to(sqsEndpointUri);
-
-                fromF("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&deleteAfterRead=false&deleteIfFiltered=true&configuration=#class:%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                        TestSqsConfiguration.class.getName())
-                                .startupOrder(1)
-                                .filter(simple("${body} != 'ignore'")).log("${body}").log("${header.CamelAwsSqsReceiptHandle}")
-                                .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerBatchSendFifoIntegrationTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerBatchSendFifoIntegrationTest.java
deleted file mode 100644
index e2dfa7c..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerBatchSendFifoIntegrationTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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.component.aws.sqs.integration;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws.sqs.SqsConstants;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.infra.aws.common.SystemPropertiesAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.TestAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.services.AWSService;
-import org.apache.camel.test.infra.aws.services.AWSServiceFactory;
-import org.apache.camel.test.infra.common.SharedNameGenerator;
-import org.apache.camel.test.infra.common.TestEntityNameGenerator;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-public class SqsProducerBatchSendFifoIntegrationTest extends CamelTestSupport {
-
-    @SuppressWarnings("unused")
-    @RegisterExtension
-    public static AWSService service = AWSServiceFactory.createSQSService();
-
-    @RegisterExtension
-    public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void sendInOnly() throws Exception {
-        result.expectedMessageCount(5);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                Collection c = new ArrayList<Integer>();
-                c.add("2");
-                c.add("1");
-                c.add("3");
-                c.add("4");
-                c.add("5");
-                exchange.getIn().setBody(c);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        TestAWSCredentialsProvider awsCredentialsProvider = new SystemPropertiesAWSCredentialsProvider();
-
-        final String sqsEndpointUri = String.format(
-                "aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&messageGroupIdStrategy=useExchangeId"
-                                                    + "&messageDeduplicationIdStrategy=useContentBasedDeduplication&configuration=#class:%s",
-                sharedNameGenerator.getName(),
-                awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                TestSqsConfiguration.class.getName());
-
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").startupOrder(2).setHeader(SqsConstants.SQS_OPERATION, constant("sendBatchMessage"))
-                        .to(sqsEndpointUri);
-
-                fromF("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&deleteAfterRead=false&configuration=#class:%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                        TestSqsConfiguration.class.getName())
-                                .startupOrder(1).log("${body}").to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerBatchSendIntegrationTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerBatchSendIntegrationTest.java
deleted file mode 100644
index 89f0c64..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerBatchSendIntegrationTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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.component.aws.sqs.integration;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws.sqs.SqsConstants;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.infra.aws.common.SystemPropertiesAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.TestAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.services.AWSService;
-import org.apache.camel.test.infra.aws.services.AWSServiceFactory;
-import org.apache.camel.test.infra.common.SharedNameGenerator;
-import org.apache.camel.test.infra.common.TestEntityNameGenerator;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-public class SqsProducerBatchSendIntegrationTest extends CamelTestSupport {
-
-    @SuppressWarnings("unused")
-    @RegisterExtension
-    public static AWSService service = AWSServiceFactory.createSQSService();
-
-    @RegisterExtension
-    public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void sendInOnly() throws Exception {
-        result.expectedMessageCount(5);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                Collection c = new ArrayList<Integer>();
-                c.add("1");
-                c.add("2");
-                c.add("3");
-                c.add("4");
-                c.add("5");
-                exchange.getIn().setBody(c);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        TestAWSCredentialsProvider awsCredentialsProvider = new SystemPropertiesAWSCredentialsProvider();
-
-        final String sqsEndpointUri
-                = String.format("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&configuration=#class:%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                        TestSqsConfiguration.class.getName());
-
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").startupOrder(2).setHeader(SqsConstants.SQS_OPERATION, constant("sendBatchMessage"))
-                        .to(sqsEndpointUri);
-
-                fromF("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&deleteAfterRead=true&configuration=#class:%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                        TestSqsConfiguration.class.getName())
-                                .startupOrder(1).log("${body}").to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerDeleteMessageIntegrationTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerDeleteMessageIntegrationTest.java
deleted file mode 100644
index 37532c8..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsProducerDeleteMessageIntegrationTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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.component.aws.sqs.integration;
-
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.infra.aws.common.SystemPropertiesAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.TestAWSCredentialsProvider;
-import org.apache.camel.test.infra.aws.common.services.AWSService;
-import org.apache.camel.test.infra.aws.services.AWSServiceFactory;
-import org.apache.camel.test.infra.common.SharedNameGenerator;
-import org.apache.camel.test.infra.common.TestEntityNameGenerator;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-public class SqsProducerDeleteMessageIntegrationTest extends CamelTestSupport {
-
-    @SuppressWarnings("unused")
-    @RegisterExtension
-    public static AWSService service = AWSServiceFactory.createSQSService();
-
-    @RegisterExtension
-    public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator();
-
-    @EndpointInject("direct:start")
-    private ProducerTemplate template;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint result;
-
-    @Test
-    public void sendInOnly() throws Exception {
-        result.expectedMessageCount(1);
-
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("Test sqs");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        TestAWSCredentialsProvider awsCredentialsProvider = new SystemPropertiesAWSCredentialsProvider();
-
-        final String sqsEndpointUri
-                = String.format("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&configuration=#class:%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                        TestSqsConfiguration.class.getName());
-
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").startupOrder(2).to(sqsEndpointUri);
-
-                fromF("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&deleteAfterRead=false&configuration=#class:%s",
-                        sharedNameGenerator.getName(),
-                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                        TestSqsConfiguration.class.getName())
-                                .startupOrder(1).log("${body}")
-                                .toF("aws-sqs://%s?accessKey=RAW(%s)&secretKey=RAW(%s)&region=EU_WEST_1&operation=deleteMessage&configuration=#class:%s",
-                                        sharedNameGenerator.getName(),
-                                        awsCredentialsProvider.getCredentials().getAWSAccessKeyId(),
-                                        awsCredentialsProvider.getCredentials().getAWSSecretKey(),
-                                        TestSqsConfiguration.class.getName())
-                                .log("${body}").log("${header.CamelAwsSqsReceiptHandle}")
-                                .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/TestSqsConfiguration.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/TestSqsConfiguration.java
deleted file mode 100644
index 7bae0b7..0000000
--- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/integration/TestSqsConfiguration.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.component.aws.sqs.integration;
-
-import com.amazonaws.services.sqs.AmazonSQS;
-import com.amazonaws.services.sqs.model.QueueDoesNotExistException;
-import org.apache.camel.component.aws.sqs.SqsConfiguration;
-import org.apache.camel.test.infra.aws.clients.AWSClientUtils;
-import org.apache.camel.test.infra.common.SharedNameGenerator;
-import org.apache.camel.test.infra.common.SharedNameRegistry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class TestSqsConfiguration extends SqsConfiguration {
-    private static final Logger LOG = LoggerFactory.getLogger(TestSqsConfiguration.class);
-    private final AmazonSQS client = AWSClientUtils.newSQSClient();
-
-    public TestSqsConfiguration() {
-        SharedNameGenerator sharedNameGenerator = SharedNameRegistry.getInstance().getSharedNameGenerator();
-
-        String name = sharedNameGenerator.getName();
-        LOG.debug("Using the following shared resource name for the test: {}", name);
-        setQueueName(name);
-    }
-
-    @Override
-    public String getQueueUrl() {
-        try {
-            return client.getQueueUrl(getQueueName()).getQueueUrl();
-        } catch (QueueDoesNotExistException e) {
-            return client.createQueue(getQueueName()).getQueueUrl();
-        }
-    }
-
-    @Override
-    public AmazonSQS getAmazonSQSClient() {
-        return client;
-    }
-}
diff --git a/components/camel-aws-sqs/src/test/resources/log4j2.properties b/components/camel-aws-sqs/src/test/resources/log4j2.properties
deleted file mode 100644
index fd7ddfb..0000000
--- a/components/camel-aws-sqs/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-aws-sqs-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-aws-sqs/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml b/components/camel-aws-sqs/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml
deleted file mode 100644
index b28ef1f..0000000
--- a/components/camel-aws-sqs/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-    http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-        <route>
-            <from uri="direct:start"/>
-            <to uri="aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&amp;messageRetentionPeriod=1209600&amp;maximumMessageSize=65536&amp;receiveMessageWaitTimeSeconds=20&amp;policy="/>
-        </route>
-
-        <route>
-            <from uri="aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&amp;messageRetentionPeriod=1209600&amp;maximumMessageSize=65536&amp;receiveMessageWaitTimeSeconds=20&amp;policy="/>
-            <to uri="mock:result"/>
-        </route>
-        
-        <route>
-            <from uri="direct:start-batch"/>
-            <to uri="aws-sqs://camel-1?amazonSQSClient=#amazonSQSClient&amp;operation=sendBatchMessage"/>
-            <to uri="mock:result"/>
-        </route>
-        
-        <route>
-            <from uri="direct:start-delete"/>
-            <to uri="aws-sqs://camel-1?amazonSQSClient=#amazonSQSClient&amp;operation=deleteMessage"/>
-            <to uri="mock:result"/>
-        </route>
-    </camelContext>
-
-    <bean id="amazonSQSClient" class="org.apache.camel.component.aws.sqs.AmazonSQSClientMock"/>
-</beans>
\ No newline at end of file
diff --git a/components/pom.xml b/components/pom.xml
index aad9726..0f33c7b 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -121,7 +121,6 @@
         <module>camel-aws-s3</module>
         <module>camel-aws-ses</module>
         <module>camel-aws-sns</module>
-        <module>camel-aws-sqs</module>
         <module>camel-aws-swf</module>
         <module>camel-aws2-athena</module>
         <module>camel-aws2-cw</module>
diff --git a/core/camel-allcomponents/pom.xml b/core/camel-allcomponents/pom.xml
index 17e3e60..894c18e 100644
--- a/core/camel-allcomponents/pom.xml
+++ b/core/camel-allcomponents/pom.xml
@@ -167,10 +167,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.camel</groupId>
-			<artifactId>camel-aws-sqs</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.camel</groupId>
 			<artifactId>camel-aws-swf</artifactId>
 		</dependency>
 		<dependency>
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSqsComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSqsComponentBuilderFactory.java
deleted file mode 100644
index 739ce6b..0000000
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSqsComponentBuilderFactory.java
+++ /dev/null
@@ -1,771 +0,0 @@
-/*
- * 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.builder.component.dsl;
-
-import javax.annotation.Generated;
-import org.apache.camel.Component;
-import org.apache.camel.builder.component.AbstractComponentBuilder;
-import org.apache.camel.builder.component.ComponentBuilder;
-import org.apache.camel.component.aws.sqs.SqsComponent;
-
-/**
- * Sending and receive messages to/from AWS SQS service.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface AwsSqsComponentBuilderFactory {
-
-    /**
-     * AWS Simple Queue Service (SQS) (camel-aws-sqs)
-     * Sending and receive messages to/from AWS SQS service.
-     * 
-     * Category: cloud,messaging
-     * Since: 2.6
-     * Maven coordinates: org.apache.camel:camel-aws-sqs
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static AwsSqsComponentBuilder awsSqs() {
-        return new AwsSqsComponentBuilderImpl();
-    }
-
-    /**
-     * Builder for the AWS Simple Queue Service (SQS) component.
-     */
-    interface AwsSqsComponentBuilder extends ComponentBuilder<SqsComponent> {
-        /**
-         * The hostname of the Amazon AWS cloud.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: amazonaws.com
-         * Group: common
-         * 
-         * @param amazonAWSHost the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder amazonAWSHost(
-                java.lang.String amazonAWSHost) {
-            doSetProperty("amazonAWSHost", amazonAWSHost);
-            return this;
-        }
-        /**
-         * To use the AmazonSQS as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.sqs.AmazonSQS&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param amazonSQSClient the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder amazonSQSClient(
-                com.amazonaws.services.sqs.AmazonSQS amazonSQSClient) {
-            doSetProperty("amazonSQSClient", amazonSQSClient);
-            return this;
-        }
-        /**
-         * Setting the autocreation of the queue.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoCreateQueue the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder autoCreateQueue(boolean autoCreateQueue) {
-            doSetProperty("autoCreateQueue", autoCreateQueue);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder autoDiscoverClient(
-                boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * The component configuration.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.SqsConfiguration&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param configuration the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder configuration(
-                org.apache.camel.component.aws.sqs.SqsConfiguration configuration) {
-            doSetProperty("configuration", configuration);
-            return this;
-        }
-        /**
-         * The underlying protocol used to communicate with SQS.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: https
-         * Group: common
-         * 
-         * @param protocol the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder protocol(java.lang.String protocol) {
-            doSetProperty("protocol", protocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: common
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder proxyProtocol(
-                com.amazonaws.Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * Specify the queue owner aws account id when you need to connect the
-         * queue with different account owner.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param queueOwnerAWSAccountId the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder queueOwnerAWSAccountId(
-                java.lang.String queueOwnerAWSAccountId) {
-            doSetProperty("queueOwnerAWSAccountId", queueOwnerAWSAccountId);
-            return this;
-        }
-        /**
-         * Specify the queue region which could be used with
-         * queueOwnerAWSAccountId to build the service URL. When using this
-         * parameter, the configuration will expect the capitalized name of the
-         * region (for example AP_EAST_1) You'll need to use the name
-         * Regions.EU_WEST_1.name().
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param region the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder region(java.lang.String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * A list of attribute names to receive when consuming. Multiple names
-         * can be separated by comma.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param attributeNames the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder attributeNames(
-                java.lang.String attributeNames) {
-            doSetProperty("attributeNames", attributeNames);
-            return this;
-        }
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions occurred while the consumer is trying to
-         * pickup incoming messages, or the likes, will now be processed as a
-         * message and handled by the routing Error Handler. By default the
-         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
-         * with exceptions, that will be logged at WARN or ERROR level and
-         * ignored.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder bridgeErrorHandler(
-                boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * Allows you to use multiple threads to poll the sqs queue to increase
-         * throughput.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: consumer
-         * 
-         * @param concurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder concurrentConsumers(
-                int concurrentConsumers) {
-            doSetProperty("concurrentConsumers", concurrentConsumers);
-            return this;
-        }
-        /**
-         * The default visibility timeout (in seconds).
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param defaultVisibilityTimeout the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder defaultVisibilityTimeout(
-                java.lang.Integer defaultVisibilityTimeout) {
-            doSetProperty("defaultVisibilityTimeout", defaultVisibilityTimeout);
-            return this;
-        }
-        /**
-         * Delete message from SQS after it has been read.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: consumer
-         * 
-         * @param deleteAfterRead the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder deleteAfterRead(boolean deleteAfterRead) {
-            doSetProperty("deleteAfterRead", deleteAfterRead);
-            return this;
-        }
-        /**
-         * Whether or not to send the DeleteMessage to the SQS queue if an
-         * exchange fails to get through a filter. If 'false' and exchange does
-         * not make it through a Camel filter upstream in the route, then don't
-         * send DeleteMessage.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: consumer
-         * 
-         * @param deleteIfFiltered the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder deleteIfFiltered(boolean deleteIfFiltered) {
-            doSetProperty("deleteIfFiltered", deleteIfFiltered);
-            return this;
-        }
-        /**
-         * If enabled then a scheduled background task will keep extending the
-         * message visibility on SQS. This is needed if it takes a long time to
-         * process the message. If set to true defaultVisibilityTimeout must be
-         * set. See details at Amazon docs.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param extendMessageVisibility the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder extendMessageVisibility(
-                boolean extendMessageVisibility) {
-            doSetProperty("extendMessageVisibility", extendMessageVisibility);
-            return this;
-        }
-        /**
-         * The length of time, in seconds, for which Amazon SQS can reuse a data
-         * key to encrypt or decrypt messages before calling AWS KMS again. An
-         * integer representing seconds, between 60 seconds (1 minute) and
-         * 86,400 seconds (24 hours). Default: 300 (5 minutes).
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param kmsDataKeyReusePeriodSeconds the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder kmsDataKeyReusePeriodSeconds(
-                java.lang.Integer kmsDataKeyReusePeriodSeconds) {
-            doSetProperty("kmsDataKeyReusePeriodSeconds", kmsDataKeyReusePeriodSeconds);
-            return this;
-        }
-        /**
-         * The ID of an AWS-managed customer master key (CMK) for Amazon SQS or
-         * a custom CMK.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param kmsMasterKeyId the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder kmsMasterKeyId(
-                java.lang.String kmsMasterKeyId) {
-            doSetProperty("kmsMasterKeyId", kmsMasterKeyId);
-            return this;
-        }
-        /**
-         * A list of message attribute names to receive when consuming. Multiple
-         * names can be separated by comma.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param messageAttributeNames the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder messageAttributeNames(
-                java.lang.String messageAttributeNames) {
-            doSetProperty("messageAttributeNames", messageAttributeNames);
-            return this;
-        }
-        /**
-         * Define if Server Side Encryption is enabled or not on the queue.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param serverSideEncryptionEnabled the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder serverSideEncryptionEnabled(
-                boolean serverSideEncryptionEnabled) {
-            doSetProperty("serverSideEncryptionEnabled", serverSideEncryptionEnabled);
-            return this;
-        }
-        /**
-         * The duration (in seconds) that the received messages are hidden from
-         * subsequent retrieve requests after being retrieved by a
-         * ReceiveMessage request to set in the
-         * com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only
-         * make sense if its different from defaultVisibilityTimeout. It changes
-         * the queue visibility timeout attribute permanently.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param visibilityTimeout the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder visibilityTimeout(
-                java.lang.Integer visibilityTimeout) {
-            doSetProperty("visibilityTimeout", visibilityTimeout);
-            return this;
-        }
-        /**
-         * Duration in seconds (0 to 20) that the ReceiveMessage action call
-         * will wait until a message is in the queue to include in the response.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param waitTimeSeconds the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder waitTimeSeconds(
-                java.lang.Integer waitTimeSeconds) {
-            doSetProperty("waitTimeSeconds", waitTimeSeconds);
-            return this;
-        }
-        /**
-         * Delay sending messages for a number of seconds.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param delaySeconds the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder delaySeconds(
-                java.lang.Integer delaySeconds) {
-            doSetProperty("delaySeconds", delaySeconds);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder lazyStartProducer(
-                boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Only for FIFO queues. Strategy for setting the messageDeduplicationId
-         * on the message. Can be one of the following options: useExchangeId,
-         * useContentBasedDeduplication. For the useContentBasedDeduplication
-         * option, no messageDeduplicationId will be set on the message.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: useExchangeId
-         * Group: producer
-         * 
-         * @param messageDeduplicationIdStrategy the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder messageDeduplicationIdStrategy(
-                java.lang.String messageDeduplicationIdStrategy) {
-            doSetProperty("messageDeduplicationIdStrategy", messageDeduplicationIdStrategy);
-            return this;
-        }
-        /**
-         * Only for FIFO queues. Strategy for setting the messageGroupId on the
-         * message. Can be one of the following options: useConstant,
-         * useExchangeId, usePropertyValue. For the usePropertyValue option, the
-         * value of property CamelAwsMessageGroupId will be used.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param messageGroupIdStrategy the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder messageGroupIdStrategy(
-                java.lang.String messageGroupIdStrategy) {
-            doSetProperty("messageGroupIdStrategy", messageGroupIdStrategy);
-            return this;
-        }
-        /**
-         * The operation to do in case the user don't want to send only a
-         * message.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.SqsOperations&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder operation(
-                org.apache.camel.component.aws.sqs.SqsOperations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * Whether autowiring is enabled. This is used for automatic autowiring
-         * options (the option must be marked as autowired) by looking up in the
-         * registry to find if there is a single instance of matching type,
-         * which then gets configured on the component. This can be used for
-         * automatic configuring JDBC data sources, JMS connection factories,
-         * AWS Clients, etc.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: advanced
-         * 
-         * @param autowiredEnabled the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
-            doSetProperty("autowiredEnabled", autowiredEnabled);
-            return this;
-        }
-        /**
-         * Define if you want to apply delaySeconds option to the queue or on
-         * single messages.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param delayQueue the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder delayQueue(boolean delayQueue) {
-            doSetProperty("delayQueue", delayQueue);
-            return this;
-        }
-        /**
-         * To define the queueUrl explicitly. All other parameters, which would
-         * influence the queueUrl, are ignored. This parameter is intended to be
-         * used, to connect to a mock implementation of SQS, for testing
-         * purposes.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queueUrl the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder queueUrl(java.lang.String queueUrl) {
-            doSetProperty("queueUrl", queueUrl);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder proxyHost(java.lang.String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder proxyPort(java.lang.Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * The maximumMessageSize (in bytes) an SQS message can contain for this
-         * queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param maximumMessageSize the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder maximumMessageSize(
-                java.lang.Integer maximumMessageSize) {
-            doSetProperty("maximumMessageSize", maximumMessageSize);
-            return this;
-        }
-        /**
-         * The messageRetentionPeriod (in seconds) a message will be retained by
-         * SQS for this queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param messageRetentionPeriod the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder messageRetentionPeriod(
-                java.lang.Integer messageRetentionPeriod) {
-            doSetProperty("messageRetentionPeriod", messageRetentionPeriod);
-            return this;
-        }
-        /**
-         * The policy for this queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param policy the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder policy(java.lang.String policy) {
-            doSetProperty("policy", policy);
-            return this;
-        }
-        /**
-         * If you do not specify WaitTimeSeconds in the request, the queue
-         * attribute ReceiveMessageWaitTimeSeconds is used to determine how long
-         * to wait.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param receiveMessageWaitTimeSeconds the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder receiveMessageWaitTimeSeconds(
-                java.lang.Integer receiveMessageWaitTimeSeconds) {
-            doSetProperty("receiveMessageWaitTimeSeconds", receiveMessageWaitTimeSeconds);
-            return this;
-        }
-        /**
-         * Specify the policy that send message to DeadLetter queue. See detail
-         * at Amazon docs.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param redrivePolicy the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder redrivePolicy(
-                java.lang.String redrivePolicy) {
-            doSetProperty("redrivePolicy", redrivePolicy);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder accessKey(java.lang.String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default AwsSqsComponentBuilder secretKey(java.lang.String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    class AwsSqsComponentBuilderImpl
-            extends
-                AbstractComponentBuilder<SqsComponent>
-            implements
-                AwsSqsComponentBuilder {
-        @Override
-        protected SqsComponent buildConcreteComponent() {
-            return new SqsComponent();
-        }
-        private org.apache.camel.component.aws.sqs.SqsConfiguration getOrCreateConfiguration(
-                org.apache.camel.component.aws.sqs.SqsComponent component) {
-            if (component.getConfiguration() == null) {
-                component.setConfiguration(new org.apache.camel.component.aws.sqs.SqsConfiguration());
-            }
-            return component.getConfiguration();
-        }
-        @Override
-        protected boolean setPropertyOnComponent(
-                Component component,
-                String name,
-                Object value) {
-            switch (name) {
-            case "amazonAWSHost": getOrCreateConfiguration((SqsComponent) component).setAmazonAWSHost((java.lang.String) value); return true;
-            case "amazonSQSClient": getOrCreateConfiguration((SqsComponent) component).setAmazonSQSClient((com.amazonaws.services.sqs.AmazonSQS) value); return true;
-            case "autoCreateQueue": getOrCreateConfiguration((SqsComponent) component).setAutoCreateQueue((boolean) value); return true;
-            case "autoDiscoverClient": getOrCreateConfiguration((SqsComponent) component).setAutoDiscoverClient((boolean) value); return true;
-            case "configuration": ((SqsComponent) component).setConfiguration((org.apache.camel.component.aws.sqs.SqsConfiguration) value); return true;
-            case "protocol": getOrCreateConfiguration((SqsComponent) component).setProtocol((java.lang.String) value); return true;
-            case "proxyProtocol": getOrCreateConfiguration((SqsComponent) component).setProxyProtocol((com.amazonaws.Protocol) value); return true;
-            case "queueOwnerAWSAccountId": getOrCreateConfiguration((SqsComponent) component).setQueueOwnerAWSAccountId((java.lang.String) value); return true;
-            case "region": getOrCreateConfiguration((SqsComponent) component).setRegion((java.lang.String) value); return true;
-            case "attributeNames": getOrCreateConfiguration((SqsComponent) component).setAttributeNames((java.lang.String) value); return true;
-            case "bridgeErrorHandler": ((SqsComponent) component).setBridgeErrorHandler((boolean) value); return true;
-            case "concurrentConsumers": getOrCreateConfiguration((SqsComponent) component).setConcurrentConsumers((int) value); return true;
-            case "defaultVisibilityTimeout": getOrCreateConfiguration((SqsComponent) component).setDefaultVisibilityTimeout((java.lang.Integer) value); return true;
-            case "deleteAfterRead": getOrCreateConfiguration((SqsComponent) component).setDeleteAfterRead((boolean) value); return true;
-            case "deleteIfFiltered": getOrCreateConfiguration((SqsComponent) component).setDeleteIfFiltered((boolean) value); return true;
-            case "extendMessageVisibility": getOrCreateConfiguration((SqsComponent) component).setExtendMessageVisibility((boolean) value); return true;
-            case "kmsDataKeyReusePeriodSeconds": getOrCreateConfiguration((SqsComponent) component).setKmsDataKeyReusePeriodSeconds((java.lang.Integer) value); return true;
-            case "kmsMasterKeyId": getOrCreateConfiguration((SqsComponent) component).setKmsMasterKeyId((java.lang.String) value); return true;
-            case "messageAttributeNames": getOrCreateConfiguration((SqsComponent) component).setMessageAttributeNames((java.lang.String) value); return true;
-            case "serverSideEncryptionEnabled": getOrCreateConfiguration((SqsComponent) component).setServerSideEncryptionEnabled((boolean) value); return true;
-            case "visibilityTimeout": getOrCreateConfiguration((SqsComponent) component).setVisibilityTimeout((java.lang.Integer) value); return true;
-            case "waitTimeSeconds": getOrCreateConfiguration((SqsComponent) component).setWaitTimeSeconds((java.lang.Integer) value); return true;
-            case "delaySeconds": getOrCreateConfiguration((SqsComponent) component).setDelaySeconds((java.lang.Integer) value); return true;
-            case "lazyStartProducer": ((SqsComponent) component).setLazyStartProducer((boolean) value); return true;
-            case "messageDeduplicationIdStrategy": getOrCreateConfiguration((SqsComponent) component).setMessageDeduplicationIdStrategy((java.lang.String) value); return true;
-            case "messageGroupIdStrategy": getOrCreateConfiguration((SqsComponent) component).setMessageGroupIdStrategy((java.lang.String) value); return true;
-            case "operation": getOrCreateConfiguration((SqsComponent) component).setOperation((org.apache.camel.component.aws.sqs.SqsOperations) value); return true;
-            case "autowiredEnabled": ((SqsComponent) component).setAutowiredEnabled((boolean) value); return true;
-            case "delayQueue": getOrCreateConfiguration((SqsComponent) component).setDelayQueue((boolean) value); return true;
-            case "queueUrl": getOrCreateConfiguration((SqsComponent) component).setQueueUrl((java.lang.String) value); return true;
-            case "proxyHost": getOrCreateConfiguration((SqsComponent) component).setProxyHost((java.lang.String) value); return true;
-            case "proxyPort": getOrCreateConfiguration((SqsComponent) component).setProxyPort((java.lang.Integer) value); return true;
-            case "maximumMessageSize": getOrCreateConfiguration((SqsComponent) component).setMaximumMessageSize((java.lang.Integer) value); return true;
-            case "messageRetentionPeriod": getOrCreateConfiguration((SqsComponent) component).setMessageRetentionPeriod((java.lang.Integer) value); return true;
-            case "policy": getOrCreateConfiguration((SqsComponent) component).setPolicy((java.lang.String) value); return true;
-            case "receiveMessageWaitTimeSeconds": getOrCreateConfiguration((SqsComponent) component).setReceiveMessageWaitTimeSeconds((java.lang.Integer) value); return true;
-            case "redrivePolicy": getOrCreateConfiguration((SqsComponent) component).setRedrivePolicy((java.lang.String) value); return true;
-            case "accessKey": getOrCreateConfiguration((SqsComponent) component).setAccessKey((java.lang.String) value); return true;
-            case "secretKey": getOrCreateConfiguration((SqsComponent) component).setSecretKey((java.lang.String) value); return true;
-            default: return false;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SqsEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SqsEndpointBuilderFactory.java
deleted file mode 100644
index 7e06bb1..0000000
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SqsEndpointBuilderFactory.java
+++ /dev/null
@@ -1,2875 +0,0 @@
-/*
- * 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.builder.endpoint.dsl;
-
-import java.util.Map;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import javax.annotation.Generated;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.LoggingLevel;
-import org.apache.camel.builder.EndpointConsumerBuilder;
-import org.apache.camel.builder.EndpointProducerBuilder;
-import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
-import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.HeaderFilterStrategy;
-import org.apache.camel.spi.PollingConsumerPollStrategy;
-
-/**
- * Sending and receive messages to/from AWS SQS service.
- * 
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface SqsEndpointBuilderFactory {
-
-
-    /**
-     * Builder for endpoint consumers for the AWS Simple Queue Service (SQS)
-     * component.
-     */
-    public interface SqsEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default AdvancedSqsEndpointConsumerBuilder advanced() {
-            return (AdvancedSqsEndpointConsumerBuilder) this;
-        }
-        /**
-         * The hostname of the Amazon AWS cloud.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: amazonaws.com
-         * Group: common
-         * 
-         * @param amazonAWSHost the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder amazonAWSHost(String amazonAWSHost) {
-            doSetProperty("amazonAWSHost", amazonAWSHost);
-            return this;
-        }
-        /**
-         * To use the AmazonSQS as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.sqs.AmazonSQS&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param amazonSQSClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder amazonSQSClient(
-                Object amazonSQSClient) {
-            doSetProperty("amazonSQSClient", amazonSQSClient);
-            return this;
-        }
-        /**
-         * To use the AmazonSQS as client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.services.sqs.AmazonSQS&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param amazonSQSClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder amazonSQSClient(
-                String amazonSQSClient) {
-            doSetProperty("amazonSQSClient", amazonSQSClient);
-            return this;
-        }
-        /**
-         * Setting the autocreation of the queue.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoCreateQueue the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder autoCreateQueue(
-                boolean autoCreateQueue) {
-            doSetProperty("autoCreateQueue", autoCreateQueue);
-            return this;
-        }
-        /**
-         * Setting the autocreation of the queue.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoCreateQueue the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder autoCreateQueue(
-                String autoCreateQueue) {
-            doSetProperty("autoCreateQueue", autoCreateQueue);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder autoDiscoverClient(
-                boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder autoDiscoverClient(
-                String autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * To use a custom HeaderFilterStrategy to map headers to/from Camel.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
-         * type.
-         * 
-         * Group: common
-         * 
-         * @param headerFilterStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder headerFilterStrategy(
-                HeaderFilterStrategy headerFilterStrategy) {
-            doSetProperty("headerFilterStrategy", headerFilterStrategy);
-            return this;
-        }
-        /**
-         * To use a custom HeaderFilterStrategy to map headers to/from Camel.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
-         * type.
-         * 
-         * Group: common
-         * 
-         * @param headerFilterStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder headerFilterStrategy(
-                String headerFilterStrategy) {
-            doSetProperty("headerFilterStrategy", headerFilterStrategy);
-            return this;
-        }
-        /**
-         * The underlying protocol used to communicate with SQS.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: https
-         * Group: common
-         * 
-         * @param protocol the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder protocol(String protocol) {
-            doSetProperty("protocol", protocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: common
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder proxyProtocol(Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SQS client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt; type.
-         * 
-         * Default: HTTPS
-         * Group: common
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder proxyProtocol(String proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * Specify the queue owner aws account id when you need to connect the
-         * queue with different account owner.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param queueOwnerAWSAccountId the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder queueOwnerAWSAccountId(
-                String queueOwnerAWSAccountId) {
-            doSetProperty("queueOwnerAWSAccountId", queueOwnerAWSAccountId);
-            return this;
-        }
-        /**
-         * Specify the queue region which could be used with
-         * queueOwnerAWSAccountId to build the service URL. When using this
-         * parameter, the configuration will expect the capitalized name of the
-         * region (for example AP_EAST_1) You'll need to use the name
-         * Regions.EU_WEST_1.name().
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param region the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder region(String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * A list of attribute names to receive when consuming. Multiple names
-         * can be separated by comma.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param attributeNames the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder attributeNames(String attributeNames) {
-            doSetProperty("attributeNames", attributeNames);
-            return this;
-        }
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions occurred while the consumer is trying to
-         * pickup incoming messages, or the likes, will now be processed as a
-         * message and handled by the routing Error Handler. By default the
-         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
-         * with exceptions, that will be logged at WARN or ERROR level and
-         * ignored.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder bridgeErrorHandler(
-                boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions occurred while the consumer is trying to
-         * pickup incoming messages, or the likes, will now be processed as a
-         * message and handled by the routing Error Handler. By default the
-         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
-         * with exceptions, that will be logged at WARN or ERROR level and
-         * ignored.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder bridgeErrorHandler(
-                String bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * Allows you to use multiple threads to poll the sqs queue to increase
-         * throughput.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: consumer
-         * 
-         * @param concurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder concurrentConsumers(
-                int concurrentConsumers) {
-            doSetProperty("concurrentConsumers", concurrentConsumers);
-            return this;
-        }
-        /**
-         * Allows you to use multiple threads to poll the sqs queue to increase
-         * throughput.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: consumer
-         * 
-         * @param concurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder concurrentConsumers(
-                String concurrentConsumers) {
-            doSetProperty("concurrentConsumers", concurrentConsumers);
-            return this;
-        }
-        /**
-         * The default visibility timeout (in seconds).
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param defaultVisibilityTimeout the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder defaultVisibilityTimeout(
-                Integer defaultVisibilityTimeout) {
-            doSetProperty("defaultVisibilityTimeout", defaultVisibilityTimeout);
-            return this;
-        }
-        /**
-         * The default visibility timeout (in seconds).
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param defaultVisibilityTimeout the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder defaultVisibilityTimeout(
-                String defaultVisibilityTimeout) {
-            doSetProperty("defaultVisibilityTimeout", defaultVisibilityTimeout);
-            return this;
-        }
-        /**
-         * Delete message from SQS after it has been read.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: consumer
-         * 
-         * @param deleteAfterRead the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder deleteAfterRead(
-                boolean deleteAfterRead) {
-            doSetProperty("deleteAfterRead", deleteAfterRead);
-            return this;
-        }
-        /**
-         * Delete message from SQS after it has been read.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: consumer
-         * 
-         * @param deleteAfterRead the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder deleteAfterRead(
-                String deleteAfterRead) {
-            doSetProperty("deleteAfterRead", deleteAfterRead);
-            return this;
-        }
-        /**
-         * Whether or not to send the DeleteMessage to the SQS queue if an
-         * exchange fails to get through a filter. If 'false' and exchange does
-         * not make it through a Camel filter upstream in the route, then don't
-         * send DeleteMessage.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: consumer
-         * 
-         * @param deleteIfFiltered the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder deleteIfFiltered(
-                boolean deleteIfFiltered) {
-            doSetProperty("deleteIfFiltered", deleteIfFiltered);
-            return this;
-        }
-        /**
-         * Whether or not to send the DeleteMessage to the SQS queue if an
-         * exchange fails to get through a filter. If 'false' and exchange does
-         * not make it through a Camel filter upstream in the route, then don't
-         * send DeleteMessage.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: consumer
-         * 
-         * @param deleteIfFiltered the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder deleteIfFiltered(
-                String deleteIfFiltered) {
-            doSetProperty("deleteIfFiltered", deleteIfFiltered);
-            return this;
-        }
-        /**
-         * If enabled then a scheduled background task will keep extending the
-         * message visibility on SQS. This is needed if it takes a long time to
-         * process the message. If set to true defaultVisibilityTimeout must be
-         * set. See details at Amazon docs.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param extendMessageVisibility the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder extendMessageVisibility(
-                boolean extendMessageVisibility) {
-            doSetProperty("extendMessageVisibility", extendMessageVisibility);
-            return this;
-        }
-        /**
-         * If enabled then a scheduled background task will keep extending the
-         * message visibility on SQS. This is needed if it takes a long time to
-         * process the message. If set to true defaultVisibilityTimeout must be
-         * set. See details at Amazon docs.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param extendMessageVisibility the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder extendMessageVisibility(
-                String extendMessageVisibility) {
-            doSetProperty("extendMessageVisibility", extendMessageVisibility);
-            return this;
-        }
-        /**
-         * The length of time, in seconds, for which Amazon SQS can reuse a data
-         * key to encrypt or decrypt messages before calling AWS KMS again. An
-         * integer representing seconds, between 60 seconds (1 minute) and
-         * 86,400 seconds (24 hours). Default: 300 (5 minutes).
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param kmsDataKeyReusePeriodSeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder kmsDataKeyReusePeriodSeconds(
-                Integer kmsDataKeyReusePeriodSeconds) {
-            doSetProperty("kmsDataKeyReusePeriodSeconds", kmsDataKeyReusePeriodSeconds);
-            return this;
-        }
-        /**
-         * The length of time, in seconds, for which Amazon SQS can reuse a data
-         * key to encrypt or decrypt messages before calling AWS KMS again. An
-         * integer representing seconds, between 60 seconds (1 minute) and
-         * 86,400 seconds (24 hours). Default: 300 (5 minutes).
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param kmsDataKeyReusePeriodSeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder kmsDataKeyReusePeriodSeconds(
-                String kmsDataKeyReusePeriodSeconds) {
-            doSetProperty("kmsDataKeyReusePeriodSeconds", kmsDataKeyReusePeriodSeconds);
-            return this;
-        }
-        /**
-         * The ID of an AWS-managed customer master key (CMK) for Amazon SQS or
-         * a custom CMK.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param kmsMasterKeyId the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder kmsMasterKeyId(String kmsMasterKeyId) {
-            doSetProperty("kmsMasterKeyId", kmsMasterKeyId);
-            return this;
-        }
-        /**
-         * Gets the maximum number of messages as a limit to poll at each
-         * polling. Is default unlimited, but use 0 or negative number to
-         * disable it as unlimited.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param maxMessagesPerPoll the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder maxMessagesPerPoll(
-                int maxMessagesPerPoll) {
-            doSetProperty("maxMessagesPerPoll", maxMessagesPerPoll);
-            return this;
-        }
-        /**
-         * Gets the maximum number of messages as a limit to poll at each
-         * polling. Is default unlimited, but use 0 or negative number to
-         * disable it as unlimited.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param maxMessagesPerPoll the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder maxMessagesPerPoll(
-                String maxMessagesPerPoll) {
-            doSetProperty("maxMessagesPerPoll", maxMessagesPerPoll);
-            return this;
-        }
-        /**
-         * A list of message attribute names to receive when consuming. Multiple
-         * names can be separated by comma.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param messageAttributeNames the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder messageAttributeNames(
-                String messageAttributeNames) {
-            doSetProperty("messageAttributeNames", messageAttributeNames);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param sendEmptyMessageWhenIdle the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder sendEmptyMessageWhenIdle(
-                boolean sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param sendEmptyMessageWhenIdle the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder sendEmptyMessageWhenIdle(
-                String sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
-         * Define if Server Side Encryption is enabled or not on the queue.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param serverSideEncryptionEnabled the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder serverSideEncryptionEnabled(
-                boolean serverSideEncryptionEnabled) {
-            doSetProperty("serverSideEncryptionEnabled", serverSideEncryptionEnabled);
-            return this;
-        }
-        /**
-         * Define if Server Side Encryption is enabled or not on the queue.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param serverSideEncryptionEnabled the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder serverSideEncryptionEnabled(
-                String serverSideEncryptionEnabled) {
-            doSetProperty("serverSideEncryptionEnabled", serverSideEncryptionEnabled);
-            return this;
-        }
-        /**
-         * The duration (in seconds) that the received messages are hidden from
-         * subsequent retrieve requests after being retrieved by a
-         * ReceiveMessage request to set in the
-         * com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only
-         * make sense if its different from defaultVisibilityTimeout. It changes
-         * the queue visibility timeout attribute permanently.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param visibilityTimeout the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder visibilityTimeout(
-                Integer visibilityTimeout) {
-            doSetProperty("visibilityTimeout", visibilityTimeout);
-            return this;
-        }
-        /**
-         * The duration (in seconds) that the received messages are hidden from
-         * subsequent retrieve requests after being retrieved by a
-         * ReceiveMessage request to set in the
-         * com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only
-         * make sense if its different from defaultVisibilityTimeout. It changes
-         * the queue visibility timeout attribute permanently.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param visibilityTimeout the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder visibilityTimeout(
-                String visibilityTimeout) {
-            doSetProperty("visibilityTimeout", visibilityTimeout);
-            return this;
-        }
-        /**
-         * Duration in seconds (0 to 20) that the ReceiveMessage action call
-         * will wait until a message is in the queue to include in the response.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param waitTimeSeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder waitTimeSeconds(
-                Integer waitTimeSeconds) {
-            doSetProperty("waitTimeSeconds", waitTimeSeconds);
-            return this;
-        }
-        /**
-         * Duration in seconds (0 to 20) that the ReceiveMessage action call
-         * will wait until a message is in the queue to include in the response.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: consumer
-         * 
-         * @param waitTimeSeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder waitTimeSeconds(
-                String waitTimeSeconds) {
-            doSetProperty("waitTimeSeconds", waitTimeSeconds);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder proxyHost(String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder proxyPort(Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SQS client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder proxyPort(String proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * The maximumMessageSize (in bytes) an SQS message can contain for this
-         * queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param maximumMessageSize the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder maximumMessageSize(
-                Integer maximumMessageSize) {
-            doSetProperty("maximumMessageSize", maximumMessageSize);
-            return this;
-        }
-        /**
-         * The maximumMessageSize (in bytes) an SQS message can contain for this
-         * queue.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param maximumMessageSize the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder maximumMessageSize(
-                String maximumMessageSize) {
-            doSetProperty("maximumMessageSize", maximumMessageSize);
-            return this;
-        }
-        /**
-         * The messageRetentionPeriod (in seconds) a message will be retained by
-         * SQS for this queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param messageRetentionPeriod the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder messageRetentionPeriod(
-                Integer messageRetentionPeriod) {
-            doSetProperty("messageRetentionPeriod", messageRetentionPeriod);
-            return this;
-        }
-        /**
-         * The messageRetentionPeriod (in seconds) a message will be retained by
-         * SQS for this queue.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param messageRetentionPeriod the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder messageRetentionPeriod(
-                String messageRetentionPeriod) {
-            doSetProperty("messageRetentionPeriod", messageRetentionPeriod);
-            return this;
-        }
-        /**
-         * The policy for this queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param policy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder policy(String policy) {
-            doSetProperty("policy", policy);
-            return this;
-        }
-        /**
-         * If you do not specify WaitTimeSeconds in the request, the queue
-         * attribute ReceiveMessageWaitTimeSeconds is used to determine how long
-         * to wait.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param receiveMessageWaitTimeSeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder receiveMessageWaitTimeSeconds(
-                Integer receiveMessageWaitTimeSeconds) {
-            doSetProperty("receiveMessageWaitTimeSeconds", receiveMessageWaitTimeSeconds);
-            return this;
-        }
-        /**
-         * If you do not specify WaitTimeSeconds in the request, the queue
-         * attribute ReceiveMessageWaitTimeSeconds is used to determine how long
-         * to wait.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param receiveMessageWaitTimeSeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder receiveMessageWaitTimeSeconds(
-                String receiveMessageWaitTimeSeconds) {
-            doSetProperty("receiveMessageWaitTimeSeconds", receiveMessageWaitTimeSeconds);
-            return this;
-        }
-        /**
-         * Specify the policy that send message to DeadLetter queue. See detail
-         * at Amazon docs.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param redrivePolicy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder redrivePolicy(String redrivePolicy) {
-            doSetProperty("redrivePolicy", redrivePolicy);
-            return this;
-        }
-        /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffErrorThreshold the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder backoffErrorThreshold(
-                int backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffErrorThreshold the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder backoffErrorThreshold(
-                String backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffIdleThreshold the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder backoffIdleThreshold(
-                int backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffIdleThreshold the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder backoffIdleThreshold(
-                String backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * To let the scheduled polling consumer backoff if there has been a
-         * number of subsequent idles/errors in a row. The multiplier is then
-         * the number of polls that will be skipped before the next actual
-         * attempt is happening again. When this option is in use then
-         * backoffIdleThreshold and/or backoffErrorThreshold must also be
-         * configured.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffMultiplier the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder backoffMultiplier(
-                int backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * To let the scheduled polling consumer backoff if there has been a
-         * number of subsequent idles/errors in a row. The multiplier is then
-         * the number of polls that will be skipped before the next actual
-         * attempt is happening again. When this option is in use then
-         * backoffIdleThreshold and/or backoffErrorThreshold must also be
-         * configured.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffMultiplier the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder backoffMultiplier(
-                String backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         * 
-         * @param delay the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder delay(long delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         * 
-         * @param delay the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder delay(String delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: scheduler
-         * 
-         * @param greedy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder greedy(boolean greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: scheduler
-         * 
-         * @param greedy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder greedy(String greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         * 
-         * @param initialDelay the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder initialDelay(long initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         * 
-         * @param initialDelay the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder initialDelay(String initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * Specifies a maximum limit of number of fires. So if you set it to 1,
-         * the scheduler will only fire once. If you set it to 5, it will only
-         * fire five times. A value of zero or negative means fire forever.
-         * 
-         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         * 
-         * @param repeatCount the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder repeatCount(long repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * Specifies a maximum limit of number of fires. So if you set it to 1,
-         * the scheduler will only fire once. If you set it to 5, it will only
-         * fire five times. A value of zero or negative means fire forever.
-         * 
-         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         * 
-         * @param repeatCount the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder repeatCount(String repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.LoggingLevel&lt;/code&gt; type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         * 
-         * @param runLoggingLevel the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder runLoggingLevel(
-                LoggingLevel runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.LoggingLevel&lt;/code&gt; type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         * 
-         * @param runLoggingLevel the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder runLoggingLevel(
-                String runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded thread
-         * pool.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.concurrent.ScheduledExecutorService&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param scheduledExecutorService the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder scheduledExecutorService(
-                ScheduledExecutorService scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", scheduledExecutorService);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded thread
-         * pool.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.util.concurrent.ScheduledExecutorService&lt;/code&gt; type.
-         * 
-         * Group: scheduler
-         * 
-         * @param scheduledExecutorService the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder scheduledExecutorService(
-                String scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", scheduledExecutorService);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Object&lt;/code&gt; type.
-         * 
-         * Default: none
-         * Group: scheduler
-         * 
-         * @param scheduler the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder scheduler(Object scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Object&lt;/code&gt; type.
-         * 
-         * Default: none
-         * Group: scheduler
-         * 
-         * @param scheduler the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder scheduler(String scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
-         * java.lang.Object&amp;gt;&lt;/code&gt; type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         * 
-         * @param key the option key
-         * @param value the option value
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder schedulerProperties(
-                String key,
-                Object value) {
-            doSetMultiValueProperty("schedulerProperties", "scheduler." + key, value);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
-         * java.lang.Object&amp;gt;&lt;/code&gt; type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         * 
-         * @param values the values
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder schedulerProperties(Map values) {
-            doSetMultiValueProperties("schedulerProperties", "scheduler.", values);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param startScheduler the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder startScheduler(boolean startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param startScheduler the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder startScheduler(String startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.concurrent.TimeUnit&lt;/code&gt; type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         * 
-         * @param timeUnit the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder timeUnit(TimeUnit timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.util.concurrent.TimeUnit&lt;/code&gt; type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         * 
-         * @param timeUnit the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder timeUnit(String timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param useFixedDelay the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder useFixedDelay(boolean useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param useFixedDelay the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder useFixedDelay(String useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder accessKey(String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointConsumerBuilder secretKey(String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint consumers for the AWS Simple Queue Service
-     * (SQS) component.
-     */
-    public interface AdvancedSqsEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default SqsEndpointConsumerBuilder basic() {
-            return (SqsEndpointConsumerBuilder) this;
-        }
-        /**
-         * To let the consumer use a custom ExceptionHandler. Notice if the
-         * option bridgeErrorHandler is enabled then this option is not in use.
-         * By default the consumer will deal with exceptions, that will be
-         * logged at WARN or ERROR level and ignored.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exceptionHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder exceptionHandler(
-                ExceptionHandler exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
-            return this;
-        }
-        /**
-         * To let the consumer use a custom ExceptionHandler. Notice if the
-         * option bridgeErrorHandler is enabled then this option is not in use.
-         * By default the consumer will deal with exceptions, that will be
-         * logged at WARN or ERROR level and ignored.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exceptionHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder exceptionHandler(
-                String exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
-            return this;
-        }
-        /**
-         * Sets the exchange pattern when the consumer creates an exchange.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exchangePattern the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder exchangePattern(
-                ExchangePattern exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
-            return this;
-        }
-        /**
-         * Sets the exchange pattern when the consumer creates an exchange.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exchangePattern the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder exchangePattern(
-                String exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
-            return this;
-        }
-        /**
-         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
-         * you to provide your custom implementation to control error handling
-         * usually occurred during the poll operation before an Exchange have
-         * been created and being routed in Camel.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.spi.PollingConsumerPollStrategy&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param pollStrategy the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder pollStrategy(
-                PollingConsumerPollStrategy pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-        /**
-         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
-         * you to provide your custom implementation to control error handling
-         * usually occurred during the poll operation before an Exchange have
-         * been created and being routed in Camel.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.spi.PollingConsumerPollStrategy&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param pollStrategy the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder pollStrategy(
-                String pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-        /**
-         * Define if you want to apply delaySeconds option to the queue or on
-         * single messages.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param delayQueue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder delayQueue(boolean delayQueue) {
-            doSetProperty("delayQueue", delayQueue);
-            return this;
-        }
-        /**
-         * Define if you want to apply delaySeconds option to the queue or on
-         * single messages.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param delayQueue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder delayQueue(String delayQueue) {
-            doSetProperty("delayQueue", delayQueue);
-            return this;
-        }
-        /**
-         * To define the queueUrl explicitly. All other parameters, which would
-         * influence the queueUrl, are ignored. This parameter is intended to be
-         * used, to connect to a mock implementation of SQS, for testing
-         * purposes.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queueUrl the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSqsEndpointConsumerBuilder queueUrl(String queueUrl) {
-            doSetProperty("queueUrl", queueUrl);
-            return this;
-        }
-    }
-
-    /**
-     * Builder for endpoint producers for the AWS Simple Queue Service (SQS)
-     * component.
-     */
-    public interface SqsEndpointProducerBuilder
-            extends
-                EndpointProducerBuilder {
-        default AdvancedSqsEndpointProducerBuilder advanced() {
-            return (AdvancedSqsEndpointProducerBuilder) this;
-        }
-        /**
-         * The hostname of the Amazon AWS cloud.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: amazonaws.com
-         * Group: common
-         * 
-         * @param amazonAWSHost the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder amazonAWSHost(String amazonAWSHost) {
-            doSetProperty("amazonAWSHost", amazonAWSHost);
-            return this;
-        }
-        /**
-         * To use the AmazonSQS as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.sqs.AmazonSQS&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param amazonSQSClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder amazonSQSClient(
-                Object amazonSQSClient) {
-            doSetProperty("amazonSQSClient", amazonSQSClient);
-            return this;
-        }
-        /**
-         * To use the AmazonSQS as client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.services.sqs.AmazonSQS&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param amazonSQSClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder amazonSQSClient(
-                String amazonSQSClient) {
-            doSetProperty("amazonSQSClient", amazonSQSClient);
-            return this;
-        }
-        /**
-         * Setting the autocreation of the queue.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoCreateQueue the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder autoCreateQueue(
-                boolean autoCreateQueue) {
-            doSetProperty("autoCreateQueue", autoCreateQueue);
-            return this;
-        }
-        /**
-         * Setting the autocreation of the queue.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoCreateQueue the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder autoCreateQueue(
-                String autoCreateQueue) {
-            doSetProperty("autoCreateQueue", autoCreateQueue);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder autoDiscoverClient(
-                boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder autoDiscoverClient(
-                String autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * To use a custom HeaderFilterStrategy to map headers to/from Camel.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
-         * type.
-         * 
-         * Group: common
-         * 
-         * @param headerFilterStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder headerFilterStrategy(
-                HeaderFilterStrategy headerFilterStrategy) {
-            doSetProperty("headerFilterStrategy", headerFilterStrategy);
-            return this;
-        }
-        /**
-         * To use a custom HeaderFilterStrategy to map headers to/from Camel.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
-         * type.
-         * 
-         * Group: common
-         * 
-         * @param headerFilterStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder headerFilterStrategy(
-                String headerFilterStrategy) {
-            doSetProperty("headerFilterStrategy", headerFilterStrategy);
-            return this;
-        }
-        /**
-         * The underlying protocol used to communicate with SQS.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: https
-         * Group: common
-         * 
-         * @param protocol the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder protocol(String protocol) {
-            doSetProperty("protocol", protocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: common
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder proxyProtocol(Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SQS client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt; type.
-         * 
-         * Default: HTTPS
-         * Group: common
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder proxyProtocol(String proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * Specify the queue owner aws account id when you need to connect the
-         * queue with different account owner.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param queueOwnerAWSAccountId the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder queueOwnerAWSAccountId(
-                String queueOwnerAWSAccountId) {
-            doSetProperty("queueOwnerAWSAccountId", queueOwnerAWSAccountId);
-            return this;
-        }
-        /**
-         * Specify the queue region which could be used with
-         * queueOwnerAWSAccountId to build the service URL. When using this
-         * parameter, the configuration will expect the capitalized name of the
-         * region (for example AP_EAST_1) You'll need to use the name
-         * Regions.EU_WEST_1.name().
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param region the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder region(String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * Delay sending messages for a number of seconds.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param delaySeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder delaySeconds(Integer delaySeconds) {
-            doSetProperty("delaySeconds", delaySeconds);
-            return this;
-        }
-        /**
-         * Delay sending messages for a number of seconds.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param delaySeconds the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder delaySeconds(String delaySeconds) {
-            doSetProperty("delaySeconds", delaySeconds);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder lazyStartProducer(
-                boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder lazyStartProducer(
-                String lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Only for FIFO queues. Strategy for setting the messageDeduplicationId
-         * on the message. Can be one of the following options: useExchangeId,
-         * useContentBasedDeduplication. For the useContentBasedDeduplication
-         * option, no messageDeduplicationId will be set on the message.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.MessageDeduplicationIdStrategy&lt;/code&gt; type.
-         * 
-         * Default: useExchangeId
-         * Group: producer
-         * 
-         * @param messageDeduplicationIdStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder messageDeduplicationIdStrategy(
-                Object messageDeduplicationIdStrategy) {
-            doSetProperty("messageDeduplicationIdStrategy", messageDeduplicationIdStrategy);
-            return this;
-        }
-        /**
-         * Only for FIFO queues. Strategy for setting the messageDeduplicationId
-         * on the message. Can be one of the following options: useExchangeId,
-         * useContentBasedDeduplication. For the useContentBasedDeduplication
-         * option, no messageDeduplicationId will be set on the message.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.MessageDeduplicationIdStrategy&lt;/code&gt; type.
-         * 
-         * Default: useExchangeId
-         * Group: producer
-         * 
-         * @param messageDeduplicationIdStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder messageDeduplicationIdStrategy(
-                String messageDeduplicationIdStrategy) {
-            doSetProperty("messageDeduplicationIdStrategy", messageDeduplicationIdStrategy);
-            return this;
-        }
-        /**
-         * Only for FIFO queues. Strategy for setting the messageGroupId on the
-         * message. Can be one of the following options: useConstant,
-         * useExchangeId, usePropertyValue. For the usePropertyValue option, the
-         * value of property CamelAwsMessageGroupId will be used.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.MessageGroupIdStrategy&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param messageGroupIdStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder messageGroupIdStrategy(
-                Object messageGroupIdStrategy) {
-            doSetProperty("messageGroupIdStrategy", messageGroupIdStrategy);
-            return this;
-        }
-        /**
-         * Only for FIFO queues. Strategy for setting the messageGroupId on the
-         * message. Can be one of the following options: useConstant,
-         * useExchangeId, usePropertyValue. For the usePropertyValue option, the
-         * value of property CamelAwsMessageGroupId will be used.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.MessageGroupIdStrategy&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param messageGroupIdStrategy the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder messageGroupIdStrategy(
-                String messageGroupIdStrategy) {
-            doSetProperty("messageGroupIdStrategy", messageGroupIdStrategy);
-            return this;
-        }
-        /**
-         * The operation to do in case the user don't want to send only a
-         * message.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.SqsOperations&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder operation(SqsOperations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * The operation to do in case the user don't want to send only a
-         * message.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.component.aws.sqs.SqsOperations&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder operation(String operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder proxyHost(String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SQS client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder proxyPort(Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SQS client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder proxyPort(String proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * The maximumMessageSize (in bytes) an SQS message can contain for this
-         * queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param maximumMessageSize the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder maximumMessageSize(
-                Integer maximumMessageSize) {
-            doSetProperty("maximumMessageSize", maximumMessageSize);
-            return this;
-        }
-        /**
-         * The maximumMessageSize (in bytes) an SQS message can contain for this
-         * queue.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: queue
-         * 
-         * @param maximumMessageSize the value to set
-         * @return the dsl builder
-         */
-        default SqsEndpointProducerBuilder maximumMessageSize(
-                String maximumMessageSize) {
-            doSetProperty("maximumMessageSize", maximumMessageSize);
-            return this;
-        }
-        /**
-         * The messageRetentionPeriod (in seconds) a message will be retained by
-         * SQS for this queue.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
... 773 lines suppressed ...