You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2020/08/25 07:10:52 UTC

[camel-quarkus] branch camel-master updated (2999c5a -> 10a15f6)

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

jamesnetherton pushed a change to branch camel-master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git.


 discard 2999c5a  CAMEL-14297: Introduce RouteBuilderConfigurer.
 discard 96777a7  Add Camel AS2 Modules as Quarkus Extension #1471
 discard 076a2c3  Remove remaining camel UriParams reflective class registrations
 discard a28d2f6  Add ArangoDB component extension #1533
 discard d5e74b1  Extension for camel-threadpoolfactory-vertx #1430
 discard 517d16d  Upgrade to Camel 3.5.0-SNAPSHOT
     add 9ad9c59  RabbitMQ native extension
     add 99711ad  Added flatpack component support #1541
     add 672d2bd  Atomix JVM support
     add 16d81aa  AWS 2 Kinesis JVM support
     add 6495b82  AWS 2 Lambda JVM support
     add ffbcbd0  Azure Storage Blob Service JVM support
     add 30fb2b5  Azure Storage Queue Service JVM support
     add 9108338  Clean google drive in google sheets itest
     add 6738be8  Add Dropbox component extension
     add 0680d12  Add jOOQ component extension
     add 6789111  Add NATS component extension
     add 4153eac  Docs: better intro, observability. Substantial parts taken from https://jamesnetherton.github.io/2020/08/12/camel-quarkus-1.0.0-released/
     add e534ef6  Docs: mention camel-quarkus-main in the contributor guide
     add 2dfe686  Bonita JVM support
     add 3c887ba  Beanstalk JVM support
     add 0f6ef89  Caffeine JVM support
     add e6bcbf0  ChatScript JVM support
     add 40cfb0d  Chunk JVM support
     add c0692a6  Skip native tests if the pull request has 'JVM' label
     add c5080ed  Browse JVM support
     add 85e3eea  Fixup 4153eaca Docs: Observability
     new 78b975c  Upgrade to Camel 3.5.0-SNAPSHOT
     new 7eef4a6  Extension for camel-threadpoolfactory-vertx #1430
     new 641ef30  Add ArangoDB component extension #1533
     new 074d165  Add Camel AS2 Modules as Quarkus Extension #1471
     new 33acdc8  CAMEL-14297: Introduce RouteBuilderConfigurer.
     new 10a15f6  Remove remaining camel UriParams reflective class registrations

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (2999c5a)
            \
             N -- N -- N   refs/heads/camel-master (10a15f6)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/ci-build.yaml                    |   1 +
 catalog/pom.xml                                    |  16 ++
 docs/modules/ROOT/nav.adoc                         |  15 ++
 .../contributor-guide/create-new-extension.adoc    |   7 +
 .../contributor-guide/promote-jvm-to-native.adoc   |   7 +
 docs/modules/ROOT/pages/index.adoc                 |  19 +-
 docs/modules/ROOT/pages/reference/components.adoc  |  67 ++++++-
 .../ROOT/pages/reference/extensions/atomix.adoc    |  34 ++++
 .../{flatpack.adoc => aws2-kinesis.adoc}           |  16 +-
 .../extensions/{rabbitmq.adoc => aws2-lambda.adoc} |  14 +-
 .../{rabbitmq.adoc => azure-storage-blob.adoc}     |  14 +-
 .../{rabbitmq.adoc => azure-storage-queue.adoc}    |  14 +-
 .../extensions/{rabbitmq.adoc => beanstalk.adoc}   |  14 +-
 .../extensions/{rabbitmq.adoc => bonita.adoc}      |  14 +-
 .../extensions/{rabbitmq.adoc => browse.adoc}      |  14 +-
 .../extensions/{flatpack.adoc => caffeine.adoc}    |  16 +-
 .../extensions/{rabbitmq.adoc => chatscript.adoc}  |  14 +-
 .../extensions/{rabbitmq.adoc => chunk.adoc}       |  14 +-
 .../extensions/{rabbitmq.adoc => dropbox.adoc}     |  14 +-
 .../ROOT/pages/reference/extensions/flatpack.adoc  |  19 ++
 .../extensions/{rabbitmq.adoc => jooq.adoc}        |  14 +-
 .../extensions/{rabbitmq.adoc => nats.adoc}        |  14 +-
 .../ROOT/pages/reference/extensions/rabbitmq.adoc  |   2 +-
 docs/modules/ROOT/pages/reference/index.adoc       |  46 ++++-
 .../ROOT/pages/user-guide/observability.adoc       |  36 ++++
 extensions-jvm/asterisk/integration-test/pom.xml   |   2 +-
 .../{rabbitmq => atomix}/deployment/pom.xml        |  12 +-
 .../atomix/deployment/AtomixProcessor.java}        |   9 +-
 .../{asterisk => atomix}/integration-test/pom.xml  |  10 +-
 .../component/atomix/it/AtomixResource.java        | 116 +++++++++++
 .../quarkus/component/atomix/it/AtomixTest.java    |  74 +++++++
 extensions-jvm/{rabbitmq => atomix}/pom.xml        |   8 +-
 .../{rabbitmq => atomix}/runtime/pom.xml           |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => aws2-kinesis}/deployment/pom.xml  |  12 +-
 .../kinesis/deployment/Aws2KinesisProcessor.java}  |   9 +-
 .../integration-test/pom.xml                       |  10 +-
 .../aws2/kinesis/it/Aws2KinesisResource.java}      |  33 +++-
 .../aws2/kinesis/it/Aws2KinesisTest.java}          |  16 +-
 extensions-jvm/{rabbitmq => aws2-kinesis}/pom.xml  |   8 +-
 .../{rabbitmq => aws2-kinesis}/runtime/pom.xml     |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => aws2-lambda}/deployment/pom.xml   |  12 +-
 .../lambda/deployment/Aws2LambdaProcessor.java}    |   9 +-
 .../integration-test/pom.xml                       |  10 +-
 .../aws2/lambda/it/Aws2LambdaResource.java}        |  20 +-
 .../component/aws2/lambda/it/Aws2LambdaTest.java}  |   8 +-
 extensions-jvm/{rabbitmq => aws2-lambda}/pom.xml   |   8 +-
 .../{rabbitmq => aws2-lambda}/runtime/pom.xml      |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../deployment/pom.xml                             |  12 +-
 .../deployment/AzureStorageBlobProcessor.java}     |   9 +-
 .../integration-test/pom.xml                       |  10 +-
 .../storage/blob/it/AzureStorageBlobResource.java} |  20 +-
 .../storage/blob/it/AzureStorageBlobTest.java}     |   8 +-
 .../{rabbitmq => azure-storage-blob}/pom.xml       |   8 +-
 .../runtime/pom.xml                                |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../deployment/pom.xml                             |  12 +-
 .../deployment/AzureStorageQueueProcessor.java}    |   9 +-
 .../integration-test/pom.xml                       |  10 +-
 .../queue/it/AzureStorageQueueResource.java}       |  20 +-
 .../storage/queue/it/AzureStorageQueueTest.java}   |   8 +-
 .../{rabbitmq => azure-storage-queue}/pom.xml      |   8 +-
 .../runtime/pom.xml                                |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => beanstalk}/deployment/pom.xml     |  12 +-
 .../beanstalk/deployment/BeanstalkProcessor.java}  |   9 +-
 .../integration-test/pom.xml                       |  10 +-
 .../component/beanstalk/it/BeanstalkResource.java} |  20 +-
 .../component/beanstalk/it/BeanstalkTest.java}     |   8 +-
 extensions-jvm/{rabbitmq => beanstalk}/pom.xml     |   8 +-
 .../{rabbitmq => beanstalk}/runtime/pom.xml        |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => bonita}/deployment/pom.xml        |  12 +-
 .../bonita/deployment/BonitaProcessor.java}        |   9 +-
 .../{asterisk => bonita}/integration-test/pom.xml  |  10 +-
 .../component/bonita/it/BonitaResource.java}       |  20 +-
 .../quarkus/component/bonita/it/BonitaTest.java}   |   8 +-
 extensions-jvm/{rabbitmq => bonita}/pom.xml        |   8 +-
 .../{rabbitmq => bonita}/runtime/pom.xml           |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => browse}/deployment/pom.xml        |  12 +-
 .../browse/deployment/BrowseProcessor.java}        |   9 +-
 .../{asterisk => browse}/integration-test/pom.xml  |  10 +-
 .../component/browse/it/BrowseResource.java}       |  20 +-
 .../quarkus/component/browse/it/BrowseTest.java}   |   8 +-
 extensions-jvm/{rabbitmq => browse}/pom.xml        |   8 +-
 .../{rabbitmq => browse}/runtime/pom.xml           |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => caffeine}/deployment/pom.xml      |  12 +-
 .../caffeine/deployment/CaffeineProcessor.java}    |   9 +-
 .../integration-test/pom.xml                       |  10 +-
 .../component/caffeine/it/CaffeineResource.java}   |  33 +++-
 .../component/caffeine/it/CaffeineTest.java}       |  16 +-
 extensions-jvm/{rabbitmq => caffeine}/pom.xml      |   8 +-
 .../{rabbitmq => caffeine}/runtime/pom.xml         |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => chatscript}/deployment/pom.xml    |  12 +-
 .../deployment/ChatscriptProcessor.java}           |   9 +-
 .../integration-test/pom.xml                       |  10 +-
 .../chatscript/it/ChatscriptResource.java}         |  20 +-
 .../component/chatscript/it/ChatscriptTest.java}   |   8 +-
 extensions-jvm/{rabbitmq => chatscript}/pom.xml    |   8 +-
 .../{rabbitmq => chatscript}/runtime/pom.xml       |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => chunk}/deployment/pom.xml         |  12 +-
 .../chunk/deployment/ChunkProcessor.java}          |   9 +-
 .../{asterisk => chunk}/integration-test/pom.xml   |  10 +-
 .../quarkus/component/chunk/it/ChunkResource.java} |  20 +-
 .../quarkus/component/chunk/it/ChunkTest.java}     |   8 +-
 extensions-jvm/{rabbitmq => chunk}/pom.xml         |   8 +-
 extensions-jvm/{rabbitmq => chunk}/runtime/pom.xml |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => dropbox}/deployment/pom.xml       |  12 +-
 .../dropbox/deployment/DropboxProcessor.java}      |   9 +-
 .../{asterisk => dropbox}/integration-test/pom.xml |  10 +-
 .../component/dropbox/it/DropboxResource.java}     |  20 +-
 .../quarkus/component/dropbox/it/DropboxTest.java} |   8 +-
 extensions-jvm/{rabbitmq => dropbox}/pom.xml       |   8 +-
 .../{rabbitmq => dropbox}/runtime/pom.xml          |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => jooq}/deployment/pom.xml          |  12 +-
 .../component/jooq/deployment/JooqProcessor.java}  |   9 +-
 .../{rabbitmq => jooq}/integration-test/pom.xml    |  26 ++-
 .../quarkus/component/jooq/it/JooqResource.java}   |  20 +-
 .../camel/quarkus/component/jooq/it/JooqTest.java} |   8 +-
 extensions-jvm/{rabbitmq => jooq}/pom.xml          |   8 +-
 extensions-jvm/{rabbitmq => jooq}/runtime/pom.xml  |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 .../{rabbitmq => nats}/deployment/pom.xml          |  12 +-
 .../component/nats/deployment/NatsProcessor.java}  |   9 +-
 .../{asterisk => nats}/integration-test/pom.xml    |  10 +-
 .../quarkus/component/nats/it/NatsResource.java}   |  20 +-
 .../camel/quarkus/component/nats/it/NatsTest.java} |   8 +-
 extensions-jvm/{rabbitmq => nats}/pom.xml          |   8 +-
 extensions-jvm/{rabbitmq => nats}/runtime/pom.xml  |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   6 +-
 extensions-jvm/pom.xml                             |  15 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   4 +-
 .../flatpack/deployment/FlatpackProcessor.java     |   7 +
 .../runtime/src/main/doc/configuration.adoc        |  15 ++
 extensions/pom.xml                                 |   1 +
 .../rabbitmq/deployment/pom.xml                    |   0
 .../rabbitmq/deployment/RabbitmqProcessor.java}    |  13 +-
 {extensions-jvm => extensions}/rabbitmq/pom.xml    |   1 -
 .../rabbitmq/runtime/pom.xml                       |   0
 .../main/resources/META-INF/quarkus-extension.yaml |   3 +-
 integration-tests/as2/pom.xml                      |   2 +-
 integration-tests/flatpack/pom.xml                 |   6 +-
 .../component/flatpack/it/FlatPackRoutes.java      |  47 ++++-
 .../component/flatpack/it/FlatpackResource.java    |  46 +++++
 .../{mappings => }/INVENTORY-Delimited.pzmap.xml   |   0
 .../{mappings => }/PEOPLE-FixedLength.pzmap.xml    |   0
 ...pzmap.xml => PEOPLE-HeaderAndTrailer.pzmap.xml} |  30 ++-
 .../src/main/resources/application.properties      |   2 +-
 .../component/flatpack/it/FlatpackTest.java        | 103 +++++++++-
 .../INVENTORY-CommaDelimitedWithQualifier.txt      |   0
 ...edLength.txt => PEOPLE-FixedLength-Invalid.txt} |   8 +-
 .../resources/{fixed => }/PEOPLE-FixedLength.txt   |   0
 ...FixedLength.txt => PEOPLE-HeaderAndTrailer.txt} |   2 +
 .../flatpack/src/test/resources/foo.csv            |   5 +
 .../component/google/it/GoogleComponentsTest.java  |  13 ++
 integration-tests/pom.xml                          |   1 +
 integration-tests/{flatpack => rabbitmq}/pom.xml   |  39 ++--
 .../component/rabbitmq/it/RabbitmqResource.java    |  38 ++--
 .../quarkus/component/rabbitmq/it/RabbitmqIT.java  |  16 +-
 .../component/rabbitmq/it/RabbitmqTest.java        |  24 ++-
 .../rabbitmq/it/RabbitmqTestResource.java          |  73 +++++++
 pom.xml                                            |   1 +
 poms/bom/pom.xml                                   | 215 +++++++++++++++++++++
 tooling/scripts/test-categories.yaml               |   1 +
 172 files changed, 1885 insertions(+), 755 deletions(-)
 create mode 100644 docs/modules/ROOT/pages/reference/extensions/atomix.adoc
 copy docs/modules/ROOT/pages/reference/extensions/{flatpack.adoc => aws2-kinesis.adoc} (50%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => aws2-lambda.adoc} (58%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => azure-storage-blob.adoc} (54%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => azure-storage-queue.adoc} (51%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => beanstalk.adoc} (60%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => bonita.adoc} (60%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => browse.adoc} (60%)
 copy docs/modules/ROOT/pages/reference/extensions/{flatpack.adoc => caffeine.adoc} (53%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => chatscript.adoc} (60%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => chunk.adoc} (60%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => dropbox.adoc} (59%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => jooq.adoc} (60%)
 copy docs/modules/ROOT/pages/reference/extensions/{rabbitmq.adoc => nats.adoc} (60%)
 create mode 100644 docs/modules/ROOT/pages/user-guide/observability.adoc
 copy extensions-jvm/{rabbitmq => atomix}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => atomix/deployment/src/main/java/org/apache/camel/quarkus/component/atomix/deployment/AtomixProcessor.java} (87%)
 copy extensions-jvm/{asterisk => atomix}/integration-test/pom.xml (89%)
 create mode 100644 extensions-jvm/atomix/integration-test/src/main/java/org/apache/camel/quarkus/component/atomix/it/AtomixResource.java
 create mode 100644 extensions-jvm/atomix/integration-test/src/test/java/org/apache/camel/quarkus/component/atomix/it/AtomixTest.java
 copy extensions-jvm/{rabbitmq => atomix}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => atomix}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => atomix}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions-jvm/{rabbitmq => aws2-kinesis}/deployment/pom.xml (80%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => aws2-kinesis/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/deployment/Aws2KinesisProcessor.java} (87%)
 copy extensions-jvm/{asterisk => aws2-kinesis}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => aws2-kinesis/integration-test/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/it/Aws2KinesisResource.java} (52%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => aws2-kinesis/integration-test/src/test/java/org/apache/camel/quarkus/component/aws2/kinesis/it/Aws2KinesisTest.java} (70%)
 copy extensions-jvm/{rabbitmq => aws2-kinesis}/pom.xml (79%)
 copy extensions-jvm/{rabbitmq => aws2-kinesis}/runtime/pom.xml (83%)
 copy extensions-jvm/{rabbitmq => aws2-kinesis}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (87%)
 copy extensions-jvm/{rabbitmq => aws2-lambda}/deployment/pom.xml (80%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => aws2-lambda/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/lambda/deployment/Aws2LambdaProcessor.java} (87%)
 copy extensions-jvm/{asterisk => aws2-lambda}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => aws2-lambda/integration-test/src/main/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaResource.java} (70%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => aws2-lambda/integration-test/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaTest.java} (84%)
 copy extensions-jvm/{rabbitmq => aws2-lambda}/pom.xml (79%)
 copy extensions-jvm/{rabbitmq => aws2-lambda}/runtime/pom.xml (83%)
 copy extensions-jvm/{rabbitmq => aws2-lambda}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (88%)
 copy extensions-jvm/{rabbitmq => azure-storage-blob}/deployment/pom.xml (79%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => azure-storage-blob/deployment/src/main/java/org/apache/camel/quarkus/component/azure/storage/blob/deployment/AzureStorageBlobProcessor.java} (86%)
 copy extensions-jvm/{asterisk => azure-storage-blob}/integration-test/pom.xml (88%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => azure-storage-blob/integration-test/src/main/java/org/apache/camel/quarkus/component/azure/storage/blob/it/AzureStorageBlobResource.java} (67%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => azure-storage-blob/integration-test/src/test/java/org/apache/camel/quarkus/component/azure/storage/blob/it/AzureStorageBlobTest.java} (82%)
 copy extensions-jvm/{rabbitmq => azure-storage-blob}/pom.xml (78%)
 copy extensions-jvm/{rabbitmq => azure-storage-blob}/runtime/pom.xml (82%)
 copy extensions-jvm/{rabbitmq => azure-storage-blob}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (86%)
 copy extensions-jvm/{rabbitmq => azure-storage-queue}/deployment/pom.xml (79%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => azure-storage-queue/deployment/src/main/java/org/apache/camel/quarkus/component/azure/storage/queue/deployment/AzureStorageQueueProcessor.java} (85%)
 copy extensions-jvm/{asterisk => azure-storage-queue}/integration-test/pom.xml (88%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => azure-storage-queue/integration-test/src/main/java/org/apache/camel/quarkus/component/azure/storage/queue/it/AzureStorageQueueResource.java} (67%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => azure-storage-queue/integration-test/src/test/java/org/apache/camel/quarkus/component/azure/storage/queue/it/AzureStorageQueueTest.java} (81%)
 copy extensions-jvm/{rabbitmq => azure-storage-queue}/pom.xml (78%)
 copy extensions-jvm/{rabbitmq => azure-storage-queue}/runtime/pom.xml (81%)
 copy extensions-jvm/{rabbitmq => azure-storage-queue}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (83%)
 copy extensions-jvm/{rabbitmq => beanstalk}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => beanstalk/deployment/src/main/java/org/apache/camel/quarkus/component/beanstalk/deployment/BeanstalkProcessor.java} (87%)
 copy extensions-jvm/{asterisk => beanstalk}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => beanstalk/integration-test/src/main/java/org/apache/camel/quarkus/component/beanstalk/it/BeanstalkResource.java} (71%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => beanstalk/integration-test/src/test/java/org/apache/camel/quarkus/component/beanstalk/it/BeanstalkTest.java} (85%)
 copy extensions-jvm/{rabbitmq => beanstalk}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => beanstalk}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => beanstalk}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions-jvm/{rabbitmq => bonita}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => bonita/deployment/src/main/java/org/apache/camel/quarkus/component/bonita/deployment/BonitaProcessor.java} (87%)
 copy extensions-jvm/{asterisk => bonita}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => bonita/integration-test/src/main/java/org/apache/camel/quarkus/component/bonita/it/BonitaResource.java} (71%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => bonita/integration-test/src/test/java/org/apache/camel/quarkus/component/bonita/it/BonitaTest.java} (85%)
 copy extensions-jvm/{rabbitmq => bonita}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => bonita}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => bonita}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions-jvm/{rabbitmq => browse}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => browse/deployment/src/main/java/org/apache/camel/quarkus/component/browse/deployment/BrowseProcessor.java} (87%)
 copy extensions-jvm/{asterisk => browse}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => browse/integration-test/src/main/java/org/apache/camel/quarkus/component/browse/it/BrowseResource.java} (71%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => browse/integration-test/src/test/java/org/apache/camel/quarkus/component/browse/it/BrowseTest.java} (85%)
 copy extensions-jvm/{rabbitmq => browse}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => browse}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => browse}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (89%)
 copy extensions-jvm/{rabbitmq => caffeine}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => caffeine/deployment/src/main/java/org/apache/camel/quarkus/component/caffeine/deployment/CaffeineProcessor.java} (88%)
 copy extensions-jvm/{asterisk => caffeine}/integration-test/pom.xml (91%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => caffeine/integration-test/src/main/java/org/apache/camel/quarkus/component/caffeine/it/CaffeineResource.java} (53%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => caffeine/integration-test/src/test/java/org/apache/camel/quarkus/component/caffeine/it/CaffeineTest.java} (70%)
 copy extensions-jvm/{rabbitmq => caffeine}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => caffeine}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => caffeine}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions-jvm/{rabbitmq => chatscript}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => chatscript/deployment/src/main/java/org/apache/camel/quarkus/component/chatscript/deployment/ChatscriptProcessor.java} (87%)
 copy extensions-jvm/{asterisk => chatscript}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => chatscript/integration-test/src/main/java/org/apache/camel/quarkus/component/chatscript/it/ChatscriptResource.java} (70%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => chatscript/integration-test/src/test/java/org/apache/camel/quarkus/component/chatscript/it/ChatscriptTest.java} (84%)
 copy extensions-jvm/{rabbitmq => chatscript}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => chatscript}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => chatscript}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions-jvm/{rabbitmq => chunk}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => chunk/deployment/src/main/java/org/apache/camel/quarkus/component/chunk/deployment/ChunkProcessor.java} (87%)
 copy extensions-jvm/{asterisk => chunk}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => chunk/integration-test/src/main/java/org/apache/camel/quarkus/component/chunk/it/ChunkResource.java} (71%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => chunk/integration-test/src/test/java/org/apache/camel/quarkus/component/chunk/it/ChunkTest.java} (85%)
 copy extensions-jvm/{rabbitmq => chunk}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => chunk}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => chunk}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions-jvm/{rabbitmq => dropbox}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => dropbox/deployment/src/main/java/org/apache/camel/quarkus/component/dropbox/deployment/DropboxProcessor.java} (87%)
 copy extensions-jvm/{asterisk => dropbox}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => dropbox/integration-test/src/main/java/org/apache/camel/quarkus/component/dropbox/it/DropboxResource.java} (71%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => dropbox/integration-test/src/test/java/org/apache/camel/quarkus/component/dropbox/it/DropboxTest.java} (85%)
 copy extensions-jvm/{rabbitmq => dropbox}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => dropbox}/runtime/pom.xml (83%)
 copy extensions-jvm/{rabbitmq => dropbox}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (88%)
 copy extensions-jvm/{rabbitmq => jooq}/deployment/pom.xml (81%)
 copy extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => jooq/deployment/src/main/java/org/apache/camel/quarkus/component/jooq/deployment/JooqProcessor.java} (87%)
 rename extensions-jvm/{rabbitmq => jooq}/integration-test/pom.xml (74%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => jooq/integration-test/src/main/java/org/apache/camel/quarkus/component/jooq/it/JooqResource.java} (71%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => jooq/integration-test/src/test/java/org/apache/camel/quarkus/component/jooq/it/JooqTest.java} (85%)
 copy extensions-jvm/{rabbitmq => jooq}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => jooq}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => jooq}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions-jvm/{rabbitmq => nats}/deployment/pom.xml (81%)
 rename extensions-jvm/{rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java => nats/deployment/src/main/java/org/apache/camel/quarkus/component/nats/deployment/NatsProcessor.java} (87%)
 copy extensions-jvm/{asterisk => nats}/integration-test/pom.xml (89%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => nats/integration-test/src/main/java/org/apache/camel/quarkus/component/nats/it/NatsResource.java} (71%)
 copy extensions-jvm/{rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => nats/integration-test/src/test/java/org/apache/camel/quarkus/component/nats/it/NatsTest.java} (85%)
 copy extensions-jvm/{rabbitmq => nats}/pom.xml (80%)
 copy extensions-jvm/{rabbitmq => nats}/runtime/pom.xml (84%)
 copy extensions-jvm/{rabbitmq => nats}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 create mode 100644 extensions/flatpack/runtime/src/main/doc/configuration.adoc
 rename {extensions-jvm => extensions}/rabbitmq/deployment/pom.xml (100%)
 copy extensions/{flatpack/deployment/src/main/java/org/apache/camel/quarkus/component/flatpack/deployment/FlatpackProcessor.java => rabbitmq/deployment/src/main/java/org/apache/camel/quarkus/component/rabbitmq/deployment/RabbitmqProcessor.java} (70%)
 rename {extensions-jvm => extensions}/rabbitmq/pom.xml (97%)
 rename {extensions-jvm => extensions}/rabbitmq/runtime/pom.xml (100%)
 rename {extensions-jvm => extensions}/rabbitmq/runtime/src/main/resources/META-INF/quarkus-extension.yaml (97%)
 rename integration-tests/flatpack/src/main/resources/{mappings => }/INVENTORY-Delimited.pzmap.xml (100%)
 copy integration-tests/flatpack/src/main/resources/{mappings => }/PEOPLE-FixedLength.pzmap.xml (100%)
 rename integration-tests/flatpack/src/main/resources/{mappings/PEOPLE-FixedLength.pzmap.xml => PEOPLE-HeaderAndTrailer.pzmap.xml} (56%)
 rename integration-tests/flatpack/src/test/resources/{delim => }/INVENTORY-CommaDelimitedWithQualifier.txt (100%)
 copy integration-tests/flatpack/src/test/resources/{fixed/PEOPLE-FixedLength.txt => PEOPLE-FixedLength-Invalid.txt} (68%)
 copy integration-tests/flatpack/src/test/resources/{fixed => }/PEOPLE-FixedLength.txt (100%)
 rename integration-tests/flatpack/src/test/resources/{fixed/PEOPLE-FixedLength.txt => PEOPLE-HeaderAndTrailer.txt} (97%)
 create mode 100644 integration-tests/flatpack/src/test/resources/foo.csv
 copy integration-tests/{flatpack => rabbitmq}/pom.xml (77%)
 rename {extensions-jvm/rabbitmq/integration-test => integration-tests/rabbitmq}/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java (53%)
 copy extensions-jvm/rabbitmq/integration-test/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java => integration-tests/rabbitmq/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqIT.java (70%)
 rename {extensions-jvm/rabbitmq/integration-test => integration-tests/rabbitmq}/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTest.java (58%)
 create mode 100644 integration-tests/rabbitmq/src/test/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqTestResource.java


[camel-quarkus] 03/06: Add ArangoDB component extension #1533

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 641ef30c673a6b17522dc77e9b391c377db9f0fc
Author: Zineb Bendhiba <be...@gmail.com>
AuthorDate: Tue Aug 18 09:41:58 2020 +0200

    Add ArangoDB component extension #1533
---
 catalog/pom.xml                                    |   1 +
 docs/modules/ROOT/nav.adoc                         |   1 +
 docs/modules/ROOT/pages/reference/components.adoc  |   3 +
 .../ROOT/pages/reference/extensions/arangodb.adoc  |  29 ++++
 docs/modules/ROOT/pages/reference/index.adoc       |   3 +
 extensions/arangodb/deployment/pom.xml             |  63 +++++++++
 .../arangodb/deployment/ArangodbProcessor.java     |  30 ++++
 extensions/arangodb/pom.xml                        |  39 ++++++
 extensions/arangodb/runtime/pom.xml                |  94 +++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  31 +++++
 extensions/pom.xml                                 |   1 +
 integration-tests/arangodb/pom.xml                 | 131 ++++++++++++++++++
 .../component/arangodb/it/ArangodbResource.java    | 143 +++++++++++++++++++
 .../quarkus/component/arangodb/it/ArangodbIT.java  |  24 ++++
 .../component/arangodb/it/ArangodbTest.java        | 152 +++++++++++++++++++++
 .../arangodb/it/ArangodbTestResource.java          |  71 ++++++++++
 integration-tests/pom.xml                          |   1 +
 poms/bom/pom.xml                                   |  15 ++
 tooling/scripts/test-categories.yaml               |   1 +
 19 files changed, 833 insertions(+)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 8966cad..960f085 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -43,6 +43,7 @@
             camel-quarkus-ahc-ws
             camel-quarkus-amqp
             camel-quarkus-apns
+            camel-quarkus-arangodb
             camel-quarkus-asterisk
             camel-quarkus-atmos
             camel-quarkus-atom
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 12c834b..7e3d3d2 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -18,6 +18,7 @@
 *** xref:reference/extensions/activemq.adoc[ActiveMQ]
 *** xref:reference/extensions/amqp.adoc[AMQP]
 *** xref:reference/extensions/apns.adoc[APNS]
+*** xref:reference/extensions/arangodb.adoc[ArangoDb]
 *** xref:reference/extensions/asterisk.adoc[Asterisk]
 *** xref:reference/extensions/ahc.adoc[Async HTTP Client (AHC)]
 *** xref:reference/extensions/ahc-ws.adoc[Async HTTP Client (AHC) Websocket]
diff --git a/docs/modules/ROOT/pages/reference/components.adoc b/docs/modules/ROOT/pages/reference/components.adoc
index 0b97018..cc90181 100644
--- a/docs/modules/ROOT/pages/reference/components.adoc
+++ b/docs/modules/ROOT/pages/reference/components.adoc
@@ -19,6 +19,9 @@ Stable | 1.0.0 | Messaging with AMQP protocol using Apache QPid Client.
 | xref:reference/extensions/apns.adoc[APNS] | [.camel-element-artifact]##camel-quarkus-apns## | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Send notifications to Apple iOS devices.
 
+| xref:reference/extensions/arangodb.adoc[ArangoDb] | [.camel-element-artifact]##camel-quarkus-arangodb## | [.camel-element-Native]##Native## +
+Stable | 1.1.0 | Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
+
 | xref:reference/extensions/asterisk.adoc[Asterisk] | [.camel-element-artifact]##camel-quarkus-asterisk## | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Interact with Asterisk PBX Server.
 
diff --git a/docs/modules/ROOT/pages/reference/extensions/arangodb.adoc b/docs/modules/ROOT/pages/reference/extensions/arangodb.adoc
new file mode 100644
index 0000000..16b937c
--- /dev/null
+++ b/docs/modules/ROOT/pages/reference/extensions/arangodb.adoc
@@ -0,0 +1,29 @@
+// Do not edit directly!
+// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
+
+[[arangodb]]
+= ArangoDb
+:page-aliases: extensions/arangodb.adoc
+
+[.badges]
+[.badge-key]##Since Camel Quarkus##[.badge-version]##1.1.0## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-supported]##supported##
+
+Perform operations on ArangoDb documents, collections and graphs.
+
+== What's inside
+
+* https://camel.apache.org/components/latest/arangodb-component.html[ArangoDb component], URI syntax: `arangodb:database`
+
+Please refer to the above link for usage and configuration details.
+
+== Maven coordinates
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel.quarkus</groupId>
+    <artifactId>camel-quarkus-arangodb</artifactId>
+</dependency>
+----
+
+Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
diff --git a/docs/modules/ROOT/pages/reference/index.adoc b/docs/modules/ROOT/pages/reference/index.adoc
index b09a5cb..c1203c0 100644
--- a/docs/modules/ROOT/pages/reference/index.adoc
+++ b/docs/modules/ROOT/pages/reference/index.adoc
@@ -32,6 +32,9 @@ Stable | 1.0.0 | Messaging with AMQP protocol using Apache QPid Client.
 |  xref:reference/extensions/apns.adoc[APNS]  | camel-quarkus-apns | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Send notifications to Apple iOS devices.
 
+|  xref:reference/extensions/arangodb.adoc[ArangoDb]  | camel-quarkus-arangodb | [.camel-element-Native]##Native## +
+Stable | 1.1.0 | Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
+
 |  xref:reference/extensions/asterisk.adoc[Asterisk]  | camel-quarkus-asterisk | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Interact with Asterisk PBX Server.
 
diff --git a/extensions/arangodb/deployment/pom.xml b/extensions/arangodb/deployment/pom.xml
new file mode 100644
index 0000000..4bdd196
--- /dev/null
+++ b/extensions/arangodb/deployment/pom.xml
@@ -0,0 +1,63 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-arangodb-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-arangodb-deployment</artifactId>
+    <name>Camel Quarkus :: ArangoDb :: Deployment</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-arangodb</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions/arangodb/deployment/src/main/java/org/apache/camel/quarkus/component/arangodb/deployment/ArangodbProcessor.java b/extensions/arangodb/deployment/src/main/java/org/apache/camel/quarkus/component/arangodb/deployment/ArangodbProcessor.java
new file mode 100644
index 0000000..c98ae1a
--- /dev/null
+++ b/extensions/arangodb/deployment/src/main/java/org/apache/camel/quarkus/component/arangodb/deployment/ArangodbProcessor.java
@@ -0,0 +1,30 @@
+/*
+ * 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.quarkus.component.arangodb.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+class ArangodbProcessor {
+
+    private static final String FEATURE = "camel-arangodb";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+}
diff --git a/extensions/arangodb/pom.xml b/extensions/arangodb/pom.xml
new file mode 100644
index 0000000..9c247e7
--- /dev/null
+++ b/extensions/arangodb/pom.xml
@@ -0,0 +1,39 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-arangodb-parent</artifactId>
+    <name>Camel Quarkus :: ArangoDb</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+    </modules>
+</project>
diff --git a/extensions/arangodb/runtime/pom.xml b/extensions/arangodb/runtime/pom.xml
new file mode 100644
index 0000000..a21eb09
--- /dev/null
+++ b/extensions/arangodb/runtime/pom.xml
@@ -0,0 +1,94 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-arangodb-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-arangodb</artifactId>
+    <name>Camel Quarkus :: ArangoDb :: Runtime</name>
+    <description>Perform operations on ArangoDb documents, collections and graphs.</description>
+
+    <properties>
+        <firstVersion>1.1.0</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-arangodb</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-extension-doc-page</id>
+                        <goals><goal>update-extension-doc-page</goal></goals>
+                        <phase>process-classes</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/arangodb/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/arangodb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..c7b1a0d
--- /dev/null
+++ b/extensions/arangodb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,31 @@
+#
+# 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.
+#
+
+# This is a generated file. Do not edit directly!
+# To re-generate, run the following command from the top level directory:
+#
+#   mvn -N cq:update-quarkus-metadata
+#
+---
+name: "Camel ArangoDb"
+description: "Perform operations on ArangoDb documents, collections and graphs"
+metadata:
+  guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/arangodb.html"
+  categories:
+  - "integration"
+  status:
+  - "stable"
diff --git a/extensions/pom.xml b/extensions/pom.xml
index cbb129b..dc708c9 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -37,6 +37,7 @@
         <module>ahc</module>
         <module>ahc-ws</module>
         <module>amqp</module>
+        <module>arangodb</module>
         <module>attachments</module>
         <module>avro</module>
         <module>aws-ec2</module>
diff --git a/integration-tests/arangodb/pom.xml b/integration-tests/arangodb/pom.xml
new file mode 100644
index 0000000..43c78bd
--- /dev/null
+++ b/integration-tests/arangodb/pom.xml
@@ -0,0 +1,131 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-integration-tests</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-integration-test-arangodb</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: ArangoDb</name>
+    <description>Integration tests for Camel Quarkus ArangoDb extension</description>
+
+    <properties>
+        <!-- mvnd, a.k.a. Maven Daemon: https://github.com/gnodet/mvnd -->
+        <!-- The following rule tells mvnd to build the listed deployment modules before this module. -->
+        <!-- This is important because mvnd builds modules in parallel by default. The deployment modules are not -->
+        <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
+        <!-- Please update rule whenever you change the dependencies of this module by running -->
+        <!--     mvn process-resources -Pformat    from the root directory -->
+        <mvnd.builder.rule>camel-quarkus-arangodb-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-test</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-arangodb</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-integration-testcontainers-support</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/integration-tests/arangodb/src/main/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbResource.java b/integration-tests/arangodb/src/main/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbResource.java
new file mode 100644
index 0000000..0f89335
--- /dev/null
+++ b/integration-tests/arangodb/src/main/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbResource.java
@@ -0,0 +1,143 @@
+/*
+ * 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.quarkus.component.arangodb.it;
+
+import java.net.URI;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import com.arangodb.entity.DocumentCreateEntity;
+import com.arangodb.entity.DocumentDeleteEntity;
+import com.arangodb.util.MapBuilder;
+import org.apache.camel.ProducerTemplate;
+import org.jboss.logging.Logger;
+
+import static org.apache.camel.component.arangodb.ArangoDbConstants.AQL_QUERY;
+import static org.apache.camel.component.arangodb.ArangoDbConstants.AQL_QUERY_BIND_PARAMETERS;
+import static org.apache.camel.component.arangodb.ArangoDbConstants.AQL_QUERY_OPTIONS;
+import static org.apache.camel.component.arangodb.ArangoDbConstants.ARANGO_KEY;
+import static org.apache.camel.component.arangodb.ArangoDbConstants.RESULT_CLASS_TYPE;
+
+@Path("/arangodb/camel")
+@ApplicationScoped
+public class ArangodbResource {
+
+    private static final Logger LOG = Logger.getLogger(ArangodbResource.class);
+
+    @Inject
+    ProducerTemplate producerTemplate;
+
+    @PUT
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response put(String message) throws Exception {
+        LOG.infof("Saving to arangodb: %s", message);
+        final DocumentCreateEntity response = producerTemplate.requestBody(
+                "arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&documentCollection=camel&operation=SAVE_DOCUMENT",
+                message, DocumentCreateEntity.class);
+        LOG.infof("Got response from arangodb: %s", response);
+        return Response
+                .created(new URI("https://camel.apache.org/"))
+                .entity(response.getKey())
+                .build();
+    }
+
+    @Path("{key}")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response get(@PathParam("key") String key) throws Exception {
+        LOG.infof("Retrieve document from arangodb with key: %s", key);
+        final String response = producerTemplate.requestBodyAndHeader(
+                "arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&documentCollection=camel&operation=FIND_DOCUMENT_BY_KEY",
+                key, RESULT_CLASS_TYPE, String.class, String.class);
+        LOG.infof("Got response from arangodb: %s", response);
+        return Response
+                .ok()
+                .entity(response)
+                .build();
+    }
+
+    @Path("{key}")
+    @DELETE
+    public Response delete(@PathParam("key") String key) throws Exception {
+        LOG.infof("Delete document from arangodb with key : %s", key);
+        producerTemplate.requestBody(
+                "arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&documentCollection=camel&operation=DELETE_DOCUMENT",
+                key, DocumentDeleteEntity.class);
+
+        return Response
+                .ok()
+                .build();
+    }
+
+    @Path("{key}")
+    @POST
+    @Consumes(MediaType.TEXT_PLAIN)
+    public Response post(@PathParam("key") String key, String msg) throws Exception {
+        LOG.infof("Update document from arangodb with key : %s", key);
+        Map<String, Object> headers = new HashMap<>();
+        headers.put(RESULT_CLASS_TYPE, String.class);
+        headers.put(ARANGO_KEY, key);
+
+        producerTemplate.requestBodyAndHeaders(
+                "arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&documentCollection=camel&operation=UPDATE_DOCUMENT",
+                msg, headers, String.class);
+        return Response
+                .ok()
+                .build();
+    }
+
+    @Path("/foo/{fooName}")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response getByFooName(@PathParam("fooName") String fooName) throws Exception {
+        LOG.infof("Retrieve document from arangodb with foo: %s", fooName);
+
+        String query = "FOR t IN camel FILTER t.foo == @foo RETURN t";
+        Map<String, Object> bindVars = new MapBuilder().put("foo", fooName)
+                .get();
+
+        Map<String, Object> headers = new HashMap<>();
+        headers.put(AQL_QUERY, query);
+        headers.put(AQL_QUERY_BIND_PARAMETERS, bindVars);
+        headers.put(AQL_QUERY_OPTIONS, null);
+        headers.put(RESULT_CLASS_TYPE, String.class);
+
+        final Collection<String> responseList = producerTemplate.requestBodyAndHeaders(
+                "arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&operation=AQL_QUERY",
+                fooName, headers, Collection.class);
+
+        return Response
+                .ok()
+                .entity(responseList.toString())
+                .build();
+    }
+}
diff --git a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbIT.java b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbIT.java
new file mode 100644
index 0000000..8e86006
--- /dev/null
+++ b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbIT.java
@@ -0,0 +1,24 @@
+/*
+ * 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.quarkus.component.arangodb.it;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+@NativeImageTest
+class ArangodbIT extends ArangodbTest {
+
+}
diff --git a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
new file mode 100644
index 0000000..96a86ec
--- /dev/null
+++ b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
@@ -0,0 +1,152 @@
+/*
+ * 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.quarkus.component.arangodb.it;
+
+import com.arangodb.ArangoCollection;
+import com.arangodb.ArangoDB;
+import com.arangodb.ArangoDatabase;
+import com.arangodb.entity.BaseDocument;
+import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import io.restassured.response.Response;
+import io.restassured.specification.RequestSpecification;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@QuarkusTest
+@QuarkusTestResource(ArangodbTestResource.class)
+class ArangodbTest {
+    protected static final String DATABASE_NAME = "test";
+    protected static final String COLLECTION_NAME = "camel";
+    protected static ArangoDB arangoDb;
+    protected static ArangoCollection collection;
+
+    @Test
+    public void testCreateGetDeleteDocument() {
+        // create a new document
+        RequestSpecification request = RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .body("{\"foo\":\"bar\"}");
+        Response response = request.put("/arangodb/camel");
+
+        int statusCode = response.getStatusCode();
+        assertEquals(201, statusCode);
+        // getting key of the document inserted
+        String key = response.body().asString().trim();
+
+        // get the document by key
+        request = RestAssured.given()
+                .contentType(ContentType.TEXT);
+        response = request.get("/arangodb/camel/" + key);
+        statusCode = response.getStatusCode();
+        assertEquals(200, statusCode);
+        String document = response.body().asString().trim();
+        assertTrue(document.contains("\"foo\":\"bar\""));
+
+        // delete document
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .delete("/arangodb/camel/" + key)
+                .then()
+                .statusCode(200);
+
+        // search for the document deleted
+        BaseDocument documentDeleted = collection.getDocument(key, BaseDocument.class);
+        assertNull(documentDeleted);
+    }
+
+    @Test
+    public void testUpdateDocument() {
+        // insert one Document
+        BaseDocument myObject = new BaseDocument();
+        myObject.setKey("myKey");
+        myObject.addAttribute("foo", "bar");
+        collection.insertDocument(myObject);
+
+        // udpate document
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .body("{\"key\":\"myKey\",\"foo\":\"hello\", \"gg\":\"42\"}")
+                .post("/arangodb/camel/myKey")
+                .then()
+                .statusCode(200);
+
+        // get document by key
+        RequestSpecification request = RestAssured.given()
+                .contentType(ContentType.TEXT);
+        Response response = request.get("/arangodb/camel/myKey");
+        assertEquals(200, response.getStatusCode());
+        String document = response.body().asString().trim();
+        assertTrue(document.contains("\"foo\":\"hello\""));
+        assertTrue(document.contains("\"gg\":\"42\""));
+    }
+
+    @Test
+    public void testAQLQuery() {
+        // insert first Document
+        BaseDocument myObject1 = new BaseDocument();
+        myObject1.setKey("keyBar1");
+        myObject1.addAttribute("foo", "bar1");
+        collection.insertDocument(myObject1);
+
+        // insert second Document
+        BaseDocument myObject2 = new BaseDocument();
+        myObject2.setKey("keyBar2");
+        myObject2.addAttribute("foo", "bar2");
+        collection.insertDocument(myObject2);
+
+        // get document with foo = bar1
+        RequestSpecification request = RestAssured.given()
+                .contentType(ContentType.TEXT);
+        Response response = request.get("/arangodb/camel/foo/bar1");
+        assertEquals(200, response.getStatusCode());
+        String result = response.body().asString();
+        assertTrue(result.contains("\"_key\":\"keyBar1\""));
+
+        //get document with foo = bar2
+        request = RestAssured.given()
+                .contentType(ContentType.TEXT);
+        response = request.get("/arangodb/camel/foo/bar2");
+        assertEquals(200, response.getStatusCode());
+        result = response.body().asString().trim();
+        assertTrue(result.contains("\"_key\":\"keyBar2\""));
+    }
+
+    @BeforeAll
+    public static void setup() {
+        String host = System.getProperty("camel.arangodb.host");
+        Integer port = Integer.valueOf(System.getProperty("camel.arangodb.port"));
+        arangoDb = new ArangoDB.Builder().host(host, port).build();
+        arangoDb.createDatabase(DATABASE_NAME);
+        ArangoDatabase arangoDatabase = arangoDb.db(DATABASE_NAME);
+        arangoDatabase.createCollection(COLLECTION_NAME);
+        collection = arangoDatabase.collection(COLLECTION_NAME);
+    }
+
+    @AfterAll
+    public static void teardown() {
+        arangoDb.shutdown();
+    }
+
+}
diff --git a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTestResource.java b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTestResource.java
new file mode 100644
index 0000000..beb6a64
--- /dev/null
+++ b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTestResource.java
@@ -0,0 +1,71 @@
+/*
+ * 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.quarkus.component.arangodb.it;
+
+import java.util.Map;
+
+import org.apache.camel.quarkus.testcontainers.ContainerResourceLifecycleManager;
+import org.apache.camel.util.CollectionHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.TestcontainersConfiguration;
+
+public class ArangodbTestResource implements ContainerResourceLifecycleManager {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(ArangodbTestResource.class);
+    private GenericContainer container;
+    private static final String CONTAINER_NAME = "arango";
+    private static final String ARANGO_IMAGE = "arangodb:latest";
+    private static final String ARANGO_NO_AUTH = "ARANGO_NO_AUTH";
+    private static final Integer PORT_DEFAULT = 8529;
+
+    @Override
+    public Map<String, String> start() {
+        LOGGER.info(TestcontainersConfiguration.getInstance().toString());
+
+        try {
+            container = new GenericContainer(ARANGO_IMAGE)
+                    .withExposedPorts(PORT_DEFAULT)
+                    .withEnv(ARANGO_NO_AUTH, "1")
+                    .withNetworkAliases(CONTAINER_NAME)
+                    .waitingFor(Wait.forListeningPort());
+
+            container.start();
+
+            return CollectionHelper.mapOf(
+                    "camel.arangodb.port",
+                    container.getMappedPort(PORT_DEFAULT).toString(),
+                    "camel.arangodb.host",
+                    container.getContainerIpAddress());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Override
+    public void stop() {
+        try {
+            if (container != null) {
+                container.stop();
+            }
+        } catch (Exception e) {
+            // ignored
+        }
+    }
+}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index e114178..588d462 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -66,6 +66,7 @@
         <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
         <module>activemq</module>
         <module>amqp</module>
+        <module>arangodb</module>
         <module>avro</module>
         <module>aws</module>
         <module>aws2</module>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 6822c0e..29b6ea5 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -136,6 +136,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-arangodb</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-asterisk</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -1403,6 +1408,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-arangodb</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-arangodb-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-asterisk</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml
index 4e2fe46..6d22bcd 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -41,6 +41,7 @@ database:
   - kudu
   - mongodb
   - sql
+  - arangodb
 dataformats:
   - avro
   - base64


[camel-quarkus] 02/06: Extension for camel-threadpoolfactory-vertx #1430

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7eef4a60235c44984e4ccbd6b4a53e58ca48db28
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Tue Jul 7 15:34:29 2020 +0200

    Extension for camel-threadpoolfactory-vertx #1430
---
 catalog/pom.xml                                    |   1 +
 docs/modules/ROOT/nav.adoc                         |   1 +
 .../extensions/threadpoolfactory-vertx.adoc        |  29 ++++++
 docs/modules/ROOT/pages/reference/index.adoc       |   3 +
 docs/modules/ROOT/pages/reference/others.adoc      |   3 +
 extensions-core/pom.xml                            |   1 +
 .../threadpoolfactory-vertx/deployment/pom.xml     |  67 ++++++++++++++
 .../ThreadpoolfactoryVertxProcessor.java           |  42 +++++++++
 .../{ => threadpoolfactory-vertx}/pom.xml          |  25 ++----
 .../threadpoolfactory-vertx/runtime/pom.xml        | 100 +++++++++++++++++++++
 .../vertx/ThreadPoolFactoryVertxRecorder.java      |  40 +++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  31 +++++++
 .../cassandraql/integration-test/pom.xml           |  10 +++
 integration-tests/main/pom.xml                     |   6 +-
 .../camel/quarkus/main/CoreMainResource.java       |  19 ++++
 .../apache/camel/quarkus/main/CoreMainTest.java    |  14 +++
 poms/bom/pom.xml                                   |  15 ++++
 17 files changed, 390 insertions(+), 17 deletions(-)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 31c8ca2..8966cad 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -233,6 +233,7 @@
             camel-quarkus-tagsoup
             camel-quarkus-tarfile
             camel-quarkus-telegram
+            camel-quarkus-threadpoolfactory-vertx
             camel-quarkus-tika
             camel-quarkus-timer
             camel-quarkus-twitter
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 97a3527..12c834b 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -184,6 +184,7 @@
 *** xref:reference/extensions/stream.adoc[Stream]
 *** xref:reference/extensions/tarfile.adoc[Tar File]
 *** xref:reference/extensions/telegram.adoc[Telegram]
+*** xref:reference/extensions/threadpoolfactory-vertx.adoc[ThreadPoolFactory Vert.x]
 *** xref:reference/extensions/tagsoup.adoc[TidyMarkup]
 *** xref:reference/extensions/tika.adoc[Tika]
 *** xref:reference/extensions/timer.adoc[Timer]
diff --git a/docs/modules/ROOT/pages/reference/extensions/threadpoolfactory-vertx.adoc b/docs/modules/ROOT/pages/reference/extensions/threadpoolfactory-vertx.adoc
new file mode 100644
index 0000000..315f5e5
--- /dev/null
+++ b/docs/modules/ROOT/pages/reference/extensions/threadpoolfactory-vertx.adoc
@@ -0,0 +1,29 @@
+// Do not edit directly!
+// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
+
+[[threadpoolfactory-vertx]]
+= ThreadPoolFactory Vert.x
+:page-aliases: extensions/threadpoolfactory-vertx.adoc
+
+[.badges]
+[.badge-key]##Since Camel Quarkus##[.badge-version]##1.0.0-CR4## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-supported]##supported##
+
+ThreadPoolFactory for camel-core using Vert.x
+
+== What's inside
+
+* https://camel.apache.org/components/latest/others/threadpoolfactory-vertx.html[ThreadPoolFactory Vert.x]
+
+Please refer to the above link for usage and configuration details.
+
+== Maven coordinates
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel.quarkus</groupId>
+    <artifactId>camel-quarkus-threadpoolfactory-vertx</artifactId>
+</dependency>
+----
+
+Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
diff --git a/docs/modules/ROOT/pages/reference/index.adoc b/docs/modules/ROOT/pages/reference/index.adoc
index 99a80b1..b09a5cb 100644
--- a/docs/modules/ROOT/pages/reference/index.adoc
+++ b/docs/modules/ROOT/pages/reference/index.adoc
@@ -530,6 +530,9 @@ Stable | 0.3.0 | Archive files into tarballs or extract files from tarballs.
 |  xref:reference/extensions/telegram.adoc[Telegram]  | camel-quarkus-telegram | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | Send and receive messages acting as a Telegram Bot Telegram Bot API.
 
+|  xref:reference/extensions/threadpoolfactory-vertx.adoc[ThreadPoolFactory Vert.x]  | camel-quarkus-threadpoolfactory-vertx | [.camel-element-Native]##Native## +
+Stable | 1.0.0-CR4 | ThreadPoolFactory for camel-core using Vert.x
+
 |  xref:reference/extensions/tagsoup.adoc[TidyMarkup]  | camel-quarkus-tagsoup | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | Parse (potentially invalid) HTML into valid HTML or DOM.
 
diff --git a/docs/modules/ROOT/pages/reference/others.adoc b/docs/modules/ROOT/pages/reference/others.adoc
index 731fd42..57a79bf 100644
--- a/docs/modules/ROOT/pages/reference/others.adoc
+++ b/docs/modules/ROOT/pages/reference/others.adoc
@@ -58,6 +58,9 @@ Stable | 0.3.0 | Reactive Executor for camel-core using Vert.x
 | xref:reference/extensions/smallrye-reactive-messaging.adoc[SmallRye Reactive Messaging] | [.camel-element-artifact]##camel-quarkus-smallrye-reactive-messaging## | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | Camel integration with SmallRye Reactive Messaging
 
+| xref:reference/extensions/threadpoolfactory-vertx.adoc[ThreadPoolFactory Vert.x] | [.camel-element-artifact]##camel-quarkus-threadpoolfactory-vertx## | [.camel-element-Native]##Native## +
+Stable | 1.0.0-CR4 | ThreadPoolFactory for camel-core using Vert.x
+
 | xref:reference/extensions/xml-io.adoc[XML IO] | [.camel-element-artifact]##camel-quarkus-xml-io## | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | An XML stack for parsing XML route definitions. A fast an light weight alternative to camel-quarkus-xml-jaxp
 
diff --git a/extensions-core/pom.xml b/extensions-core/pom.xml
index 8d687ce..12a4aa0 100644
--- a/extensions-core/pom.xml
+++ b/extensions-core/pom.xml
@@ -36,6 +36,7 @@
         <module>core-cloud</module>
         <module>http-common</module>
         <module>reactive-executor</module>
+        <module>threadpoolfactory-vertx</module>
         <module>xml-io</module>
         <module>xml-jaxb</module>
         <module>xml-jaxp</module>
diff --git a/extensions-core/threadpoolfactory-vertx/deployment/pom.xml b/extensions-core/threadpoolfactory-vertx/deployment/pom.xml
new file mode 100644
index 0000000..df8bca0
--- /dev/null
+++ b/extensions-core/threadpoolfactory-vertx/deployment/pom.xml
@@ -0,0 +1,67 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-threadpoolfactory-vertx-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-threadpoolfactory-vertx-deployment</artifactId>
+    <name>Camel Quarkus :: ThreadPoolFactory Vert.x :: Deployment</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-threadpoolfactory-vertx</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-vertx-deployment</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions-core/threadpoolfactory-vertx/deployment/src/main/java/org/apache/camel/quarkus/component/threadpoolfactory/vertx/deployment/ThreadpoolfactoryVertxProcessor.java b/extensions-core/threadpoolfactory-vertx/deployment/src/main/java/org/apache/camel/quarkus/component/threadpoolfactory/vertx/deployment/ThreadpoolfactoryVertxProcessor.java
new file mode 100644
index 0000000..669245d
--- /dev/null
+++ b/extensions-core/threadpoolfactory-vertx/deployment/src/main/java/org/apache/camel/quarkus/component/threadpoolfactory/vertx/deployment/ThreadpoolfactoryVertxProcessor.java
@@ -0,0 +1,42 @@
+/*
+ * 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.quarkus.component.threadpoolfactory.vertx.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.annotations.ExecutionTime;
+import io.quarkus.deployment.annotations.Record;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.vertx.deployment.VertxBuildItem;
+import org.apache.camel.quarkus.component.threadpoolfactory.vertx.ThreadPoolFactoryVertxRecorder;
+import org.apache.camel.quarkus.core.deployment.spi.RuntimeCamelContextCustomizerBuildItem;
+
+class ThreadpoolfactoryVertxProcessor {
+
+    private static final String FEATURE = "camel-threadpoolfactory-vertx";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @Record(value = ExecutionTime.RUNTIME_INIT, optional = true)
+    @BuildStep
+    public RuntimeCamelContextCustomizerBuildItem threadPoolFactoryCustomizer(ThreadPoolFactoryVertxRecorder recorder,
+            VertxBuildItem vertx) {
+        return new RuntimeCamelContextCustomizerBuildItem(recorder.createThreadPoolFactoryCustomizer(vertx.getVertx()));
+    }
+}
diff --git a/extensions-core/pom.xml b/extensions-core/threadpoolfactory-vertx/pom.xml
similarity index 61%
copy from extensions-core/pom.xml
copy to extensions-core/threadpoolfactory-vertx/pom.xml
index 8d687ce..01581ff 100644
--- a/extensions-core/pom.xml
+++ b/extensions-core/threadpoolfactory-vertx/pom.xml
@@ -17,30 +17,23 @@
     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/xsd/maven-4.0.0.xsd">
-
+<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/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus</artifactId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-extensions-core</artifactId>
+    <artifactId>camel-quarkus-threadpoolfactory-vertx-parent</artifactId>
+    <name>Camel Quarkus :: ThreadPoolFactory Vert.x</name>
     <packaging>pom</packaging>
 
-    <name>Camel Quarkus :: Extensions :: Core</name>
-
     <modules>
-        <module>core</module>
-        <module>core-cloud</module>
-        <module>http-common</module>
-        <module>reactive-executor</module>
-        <module>xml-io</module>
-        <module>xml-jaxb</module>
-        <module>xml-jaxp</module>
-        <module>caffeine-lrucache</module>
-        <module>main</module>
+        <module>deployment</module>
+        <module>runtime</module>
     </modules>
-
 </project>
diff --git a/extensions-core/threadpoolfactory-vertx/runtime/pom.xml b/extensions-core/threadpoolfactory-vertx/runtime/pom.xml
new file mode 100644
index 0000000..168d891
--- /dev/null
+++ b/extensions-core/threadpoolfactory-vertx/runtime/pom.xml
@@ -0,0 +1,100 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-threadpoolfactory-vertx-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-threadpoolfactory-vertx</artifactId>
+    <name>Camel Quarkus :: ThreadPoolFactory Vert.x :: Runtime</name>
+    <description>ThreadPoolFactory for camel-core using Vert.x</description>
+
+    <properties>
+        <firstVersion>1.0.0-CR4</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-threadpoolfactory-vertx</artifactId>
+        </dependency>
+
+        <!-- quarkus -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-vertx</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-extension-doc-page</id>
+                        <goals><goal>update-extension-doc-page</goal></goals>
+                        <phase>process-classes</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions-core/threadpoolfactory-vertx/runtime/src/main/java/org/apache/camel/quarkus/component/threadpoolfactory/vertx/ThreadPoolFactoryVertxRecorder.java b/extensions-core/threadpoolfactory-vertx/runtime/src/main/java/org/apache/camel/quarkus/component/threadpoolfactory/vertx/ThreadPoolFactoryVertxRecorder.java
new file mode 100644
index 0000000..833bd0d
--- /dev/null
+++ b/extensions-core/threadpoolfactory-vertx/runtime/src/main/java/org/apache/camel/quarkus/component/threadpoolfactory/vertx/ThreadPoolFactoryVertxRecorder.java
@@ -0,0 +1,40 @@
+/*
+ * 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.quarkus.component.threadpoolfactory.vertx;
+
+import io.quarkus.runtime.RuntimeValue;
+import io.quarkus.runtime.annotations.Recorder;
+import io.vertx.core.Vertx;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
+import org.apache.camel.quarkus.core.CamelContextCustomizer;
+import org.apache.camel.reactive.vertx.VertXThreadPoolFactory;
+
+@Recorder
+public class ThreadPoolFactoryVertxRecorder {
+    public RuntimeValue<CamelContextCustomizer> createThreadPoolFactoryCustomizer(RuntimeValue<Vertx> vertx) {
+        return new RuntimeValue<>(new CamelContextCustomizer() {
+            @Override
+            public void customize(CamelContext context) {
+                VertXThreadPoolFactory threadPoolFactory = new VertXThreadPoolFactory();
+                threadPoolFactory.setVertx(vertx.getValue());
+
+                context.adapt(ExtendedCamelContext.class).getExecutorServiceManager().setThreadPoolFactory(threadPoolFactory);
+            }
+        });
+    }
+}
diff --git a/extensions-core/threadpoolfactory-vertx/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-core/threadpoolfactory-vertx/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..9b28950
--- /dev/null
+++ b/extensions-core/threadpoolfactory-vertx/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,31 @@
+#
+# 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.
+#
+
+# This is a generated file. Do not edit directly!
+# To re-generate, run the following command from the top level directory:
+#
+#   mvn -N cq:update-quarkus-metadata
+#
+---
+name: "Camel ThreadPoolFactory Vert.x"
+description: "ThreadPoolFactory for camel-core using Vert.x"
+metadata:
+  guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/threadpoolfactory-vertx.html"
+  categories:
+  - "integration"
+  status:
+  - "stable"
diff --git a/extensions-jvm/cassandraql/integration-test/pom.xml b/extensions-jvm/cassandraql/integration-test/pom.xml
index f0649da..e474676 100644
--- a/extensions-jvm/cassandraql/integration-test/pom.xml
+++ b/extensions-jvm/cassandraql/integration-test/pom.xml
@@ -44,6 +44,16 @@
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-cassandraql</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.codehaus.groovy</groupId>
+                    <artifactId>groovy</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.codehaus.groovy</groupId>
+                    <artifactId>groovy-json</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
diff --git a/integration-tests/main/pom.xml b/integration-tests/main/pom.xml
index 1be9480..f16bc56 100644
--- a/integration-tests/main/pom.xml
+++ b/integration-tests/main/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-componentdsl-deployment,camel-quarkus-direct-deployment,camel-quarkus-endpointdsl-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-reactive-executor-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-componentdsl-deployment,camel-quarkus-direct-deployment,camel-quarkus-endpointdsl-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-reactive-executor-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-threadpoolfactory-vertx-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
@@ -58,6 +58,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-threadpoolfactory-vertx</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
         <dependency>
diff --git a/integration-tests/main/src/main/java/org/apache/camel/quarkus/main/CoreMainResource.java b/integration-tests/main/src/main/java/org/apache/camel/quarkus/main/CoreMainResource.java
index 4985754..df1a819 100644
--- a/integration-tests/main/src/main/java/org/apache/camel/quarkus/main/CoreMainResource.java
+++ b/integration-tests/main/src/main/java/org/apache/camel/quarkus/main/CoreMainResource.java
@@ -41,11 +41,13 @@ import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.quarkus.core.FastFactoryFinderResolver;
 import org.apache.camel.quarkus.it.support.typeconverter.MyPair;
 import org.apache.camel.reactive.vertx.VertXReactiveExecutor;
+import org.apache.camel.reactive.vertx.VertXThreadPoolFactory;
 import org.apache.camel.spi.BeanRepository;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.FactoryFinderResolver;
 import org.apache.camel.spi.Language;
 import org.apache.camel.spi.ReactiveExecutor;
+import org.apache.camel.spi.ThreadPoolFactory;
 import org.apache.camel.support.DefaultRegistry;
 import org.apache.camel.support.LRUCacheFactory;
 import org.apache.camel.support.processor.DefaultExchangeFormatter;
@@ -185,6 +187,23 @@ public class CoreMainResource {
         return builder.build();
     }
 
+    @Path("/context/thread-pool-factory")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public JsonObject threadPoolFactory() {
+        ThreadPoolFactory threadPoolFactory = main.getCamelContext().adapt(ExtendedCamelContext.class)
+                .getExecutorServiceManager().getThreadPoolFactory();
+
+        JsonObjectBuilder builder = Json.createObjectBuilder();
+        builder.add("class", threadPoolFactory.getClass().getName());
+
+        if (threadPoolFactory instanceof VertXThreadPoolFactory) {
+            builder.add("configured", ((VertXThreadPoolFactory) threadPoolFactory).getVertx() != null);
+        }
+
+        return builder.build();
+    }
+
     @Path("/converter/my-pair")
     @POST
     @Produces(MediaType.APPLICATION_JSON)
diff --git a/integration-tests/main/src/test/java/org/apache/camel/quarkus/main/CoreMainTest.java b/integration-tests/main/src/test/java/org/apache/camel/quarkus/main/CoreMainTest.java
index 448b22e..1e2aeb0 100644
--- a/integration-tests/main/src/test/java/org/apache/camel/quarkus/main/CoreMainTest.java
+++ b/integration-tests/main/src/test/java/org/apache/camel/quarkus/main/CoreMainTest.java
@@ -32,6 +32,7 @@ import org.apache.camel.quarkus.core.DisabledXMLRoutesDefinitionLoader;
 import org.apache.camel.quarkus.core.RegistryRoutesLoaders;
 import org.apache.camel.quarkus.it.support.mainlistener.CustomMainListener;
 import org.apache.camel.reactive.vertx.VertXReactiveExecutor;
+import org.apache.camel.reactive.vertx.VertXThreadPoolFactory;
 import org.apache.camel.support.DefaultLRUCacheFactory;
 import org.junit.jupiter.api.Test;
 
@@ -167,6 +168,19 @@ public class CoreMainTest {
     }
 
     @Test
+    public void testThreadPoolFactory() {
+        JsonPath executor = RestAssured.when().get("/test/context/thread-pool-factory")
+                .then()
+                .statusCode(200)
+                .extract()
+                .body()
+                .jsonPath();
+
+        assertThat(executor.getString("class")).isEqualTo(VertXThreadPoolFactory.class.getName());
+        assertThat(executor.getBoolean("configured")).isTrue();
+    }
+
+    @Test
     public void testCustomTypeConverter() {
         RestAssured.given()
                 .contentType(ContentType.TEXT).body("a:b")
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 69fad43..6822c0e 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -1261,6 +1261,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-threadpoolfactory-vertx</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-tika</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -3253,6 +3258,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-threadpoolfactory-vertx</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-threadpoolfactory-vertx-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-tika</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>


[camel-quarkus] 04/06: Add Camel AS2 Modules as Quarkus Extension #1471

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 074d16585dfdf6f9b75e4fc4eb377f2fcf1adcd0
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Mon Jul 20 15:30:39 2020 +0200

    Add Camel AS2 Modules as Quarkus Extension #1471
---
 catalog/pom.xml                                    |   2 +
 docs/modules/ROOT/nav.adoc                         |   1 +
 docs/modules/ROOT/pages/reference/components.adoc  |   3 +
 .../ROOT/pages/reference/extensions/as2.adoc       |  37 +++++
 docs/modules/ROOT/pages/reference/index.adoc       |   3 +
 extensions-support/bouncycastle/deployment/pom.xml |  69 +++++++++
 .../deployment/BouncycastleSupportProcessor.java   |  54 +++++++
 extensions-support/{ => bouncycastle}/pom.xml      |  34 +----
 extensions-support/bouncycastle/runtime/pom.xml    |  80 ++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  27 ++++
 extensions-support/pom.xml                         |   1 +
 extensions/as2/deployment/pom.xml                  |  67 ++++++++
 .../component/as2/deployment/As2Processor.java     |  87 +++++++++++
 extensions/as2/pom.xml                             |  39 +++++
 extensions/as2/runtime/pom.xml                     | 108 +++++++++++++
 extensions/as2/runtime/src/main/doc/usage.adoc     |   4 +
 .../camel/quarkus/component/as2/As2Recorder.java   |  34 +++++
 .../main/resources/META-INF/quarkus-extension.yaml |  31 ++++
 extensions/pom.xml                                 |   1 +
 integration-tests/as2/pom.xml                      | 145 ++++++++++++++++++
 .../component/as2/it/As2CertificateHelper.java     | 140 +++++++++++++++++
 .../quarkus/component/as2/it/As2Resource.java      | 131 ++++++++++++++++
 .../component/as2/it/transport/ClientResult.java   |  68 +++++++++
 .../component/as2/it/transport/Request.java        | 152 ++++++++++++++++++
 .../component/as2/it/transport/ServerResult.java   |  39 +++++
 .../as2/src/main/resources/application.properties  |  18 +++
 .../camel/quarkus/component/as2/it/As2Helper.java  | 123 +++++++++++++++
 .../camel/quarkus/component/as2/it/As2IT.java      |  24 +++
 .../quarkus/component/as2/it/As2Receiver.java      | 169 +++++++++++++++++++++
 .../camel/quarkus/component/as2/it/As2Sender.java  |  54 +++++++
 .../camel/quarkus/component/as2/it/As2Test.java    | 127 ++++++++++++++++
 .../quarkus/component/as2/it/As2TestResource.java  |  35 +++++
 integration-tests/pom.xml                          |   1 +
 pom.xml                                            |   1 +
 poms/bom/pom.xml                                   |  35 +++++
 tooling/scripts/test-categories.yaml               |   1 +
 36 files changed, 1918 insertions(+), 27 deletions(-)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 960f085..e35b2f7 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -44,6 +44,7 @@
             camel-quarkus-amqp
             camel-quarkus-apns
             camel-quarkus-arangodb
+            camel-quarkus-as2
             camel-quarkus-asterisk
             camel-quarkus-atmos
             camel-quarkus-atom
@@ -214,6 +215,7 @@
             camel-quarkus-support-ahc
             camel-quarkus-support-aws
             camel-quarkus-support-aws2
+            camel-quarkus-support-bouncycastle
             camel-quarkus-support-common
             camel-quarkus-support-commons-logging
             camel-quarkus-support-consul-client
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 7e3d3d2..cf0b6f3 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -19,6 +19,7 @@
 *** xref:reference/extensions/amqp.adoc[AMQP]
 *** xref:reference/extensions/apns.adoc[APNS]
 *** xref:reference/extensions/arangodb.adoc[ArangoDb]
+*** xref:reference/extensions/as2.adoc[AS2]
 *** xref:reference/extensions/asterisk.adoc[Asterisk]
 *** xref:reference/extensions/ahc.adoc[Async HTTP Client (AHC)]
 *** xref:reference/extensions/ahc-ws.adoc[Async HTTP Client (AHC) Websocket]
diff --git a/docs/modules/ROOT/pages/reference/components.adoc b/docs/modules/ROOT/pages/reference/components.adoc
index cc90181..a34fd64 100644
--- a/docs/modules/ROOT/pages/reference/components.adoc
+++ b/docs/modules/ROOT/pages/reference/components.adoc
@@ -22,6 +22,9 @@ Preview | 1.1.0 | Send notifications to Apple iOS devices.
 | xref:reference/extensions/arangodb.adoc[ArangoDb] | [.camel-element-artifact]##camel-quarkus-arangodb## | [.camel-element-Native]##Native## +
 Stable | 1.1.0 | Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
 
+| xref:reference/extensions/as2.adoc[AS2] | [.camel-element-artifact]##camel-quarkus-as2## | [.camel-element-Native]##Native## +
+Stable | 1.0.0-CR4 | Transfer data securely and reliably using the AS2 protocol (RFC4130).
+
 | xref:reference/extensions/asterisk.adoc[Asterisk] | [.camel-element-artifact]##camel-quarkus-asterisk## | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Interact with Asterisk PBX Server.
 
diff --git a/docs/modules/ROOT/pages/reference/extensions/as2.adoc b/docs/modules/ROOT/pages/reference/extensions/as2.adoc
new file mode 100644
index 0000000..23db52b
--- /dev/null
+++ b/docs/modules/ROOT/pages/reference/extensions/as2.adoc
@@ -0,0 +1,37 @@
+// Do not edit directly!
+// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
+
+[[as2]]
+= AS2
+:page-aliases: extensions/as2.adoc
+
+[.badges]
+[.badge-key]##Since Camel Quarkus##[.badge-version]##1.0.0-CR4## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-supported]##supported##
+
+Transfer data securely and reliably using the AS2 protocol (RFC4130).
+
+== What's inside
+
+* https://camel.apache.org/components/latest/as2-component.html[AS2 component], URI syntax: `as2:apiName/methodName`
+
+Please refer to the above link for usage and configuration details.
+
+== Maven coordinates
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel.quarkus</groupId>
+    <artifactId>camel-quarkus-as2</artifactId>
+</dependency>
+----
+
+Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
+
+== Usage
+
+Depending on its configuration, this component may require SSL encryption on its connections. In such a case, you will need
+to add `quarkus.ssl.native=true` to your `application.properties`.
+See also https://quarkus.io/guides/native-and-ssl[Quarkus native SSL guide] and xref:user-guide/native-mode.adoc[Native mode]
+section of Camel Quarkus user guide.
+
diff --git a/docs/modules/ROOT/pages/reference/index.adoc b/docs/modules/ROOT/pages/reference/index.adoc
index c1203c0..bcf0712 100644
--- a/docs/modules/ROOT/pages/reference/index.adoc
+++ b/docs/modules/ROOT/pages/reference/index.adoc
@@ -35,6 +35,9 @@ Preview | 1.1.0 | Send notifications to Apple iOS devices.
 |  xref:reference/extensions/arangodb.adoc[ArangoDb]  | camel-quarkus-arangodb | [.camel-element-Native]##Native## +
 Stable | 1.1.0 | Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
 
+|  xref:reference/extensions/as2.adoc[AS2]  | camel-quarkus-as2 | [.camel-element-Native]##Native## +
+Stable | 1.0.0-CR4 | Transfer data securely and reliably using the AS2 protocol (RFC4130).
+
 |  xref:reference/extensions/asterisk.adoc[Asterisk]  | camel-quarkus-asterisk | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Interact with Asterisk PBX Server.
 
diff --git a/extensions-support/bouncycastle/deployment/pom.xml b/extensions-support/bouncycastle/deployment/pom.xml
new file mode 100644
index 0000000..477c47b
--- /dev/null
+++ b/extensions-support/bouncycastle/deployment/pom.xml
@@ -0,0 +1,69 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-support-bouncycastle-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-support-bouncycastle-deployment</artifactId>
+    <name>Camel Quarkus :: Support :: Bouncy Castle :: Deployment</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-bouncycastle</artifactId>
+        </dependency>
+        <dependency>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <groupId>org.bouncycastle</groupId>
+        </dependency>
+        <dependency>
+            <artifactId>bcpkix-jdk15on</artifactId>
+            <groupId>org.bouncycastle</groupId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions-support/bouncycastle/deployment/src/main/java/org/apache/camel/quarkus/support/bouncycastle/deployment/BouncycastleSupportProcessor.java b/extensions-support/bouncycastle/deployment/src/main/java/org/apache/camel/quarkus/support/bouncycastle/deployment/BouncycastleSupportProcessor.java
new file mode 100644
index 0000000..47dfbac
--- /dev/null
+++ b/extensions-support/bouncycastle/deployment/src/main/java/org/apache/camel/quarkus/support/bouncycastle/deployment/BouncycastleSupportProcessor.java
@@ -0,0 +1,54 @@
+/*
+ * 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.quarkus.support.bouncycastle.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.jboss.jandex.IndexView;
+
+public class BouncycastleSupportProcessor {
+    static final String FEATURE = "camel-support-bouncycastle";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @BuildStep
+    ReflectiveClassBuildItem registerForReflection(CombinedIndexBuildItem combinedIndex) {
+        IndexView index = combinedIndex.getIndex();
+
+        String[] dtos = index.getKnownClasses().stream()
+                .map(ci -> ci.name().toString())
+                .filter(n -> n.startsWith("org.bouncycastle.jcajce.provider.digest.") ||
+                        n.startsWith("org.bouncycastle.jcajce.provider.symmetric.") ||
+                        n.startsWith("org.bouncycastle.jcajce.provider.asymmetric.") ||
+                        n.startsWith("org.bouncycastle.jcajce.provider.keystore."))
+                .sorted()
+                .toArray(String[]::new);
+
+        return new ReflectiveClassBuildItem(false, false, dtos);
+    }
+
+    @BuildStep
+    IndexDependencyBuildItem registerBCDependencyForIndex() {
+        return new IndexDependencyBuildItem("org.bouncycastle", "bcprov-jdk15on");
+    }
+}
diff --git a/extensions-support/pom.xml b/extensions-support/bouncycastle/pom.xml
similarity index 57%
copy from extensions-support/pom.xml
copy to extensions-support/bouncycastle/pom.xml
index 12dee0c..f1bc64d 100644
--- a/extensions-support/pom.xml
+++ b/extensions-support/bouncycastle/pom.xml
@@ -18,40 +18,20 @@
 
 -->
 <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/xsd/maven-4.0.0.xsd">
-
+    <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus</artifactId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>camel-quarkus-extensions-support</artifactId>
-    <name>Camel Quarkus :: Extensions :: Support</name>
+    <artifactId>camel-quarkus-support-bouncycastle-parent</artifactId>
+    <name>Camel Quarkus :: Support :: Bouncy Castle</name>
     <packaging>pom</packaging>
 
     <modules>
-        <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
-        <module>ahc</module>
-        <module>aws</module>
-        <module>aws2</module>
-        <module>common</module>
-        <module>commons-logging</module>
-        <module>consul-client</module>
-        <module>debezium</module>
-        <module>google-http-client</module>
-        <module>httpclient</module>
-        <module>jackson-dataformat-xml</module>
-        <module>jetty</module>
-        <module>mail</module>
-        <module>mongodb</module>
-        <module>policy</module>
-        <module>retrofit</module>
-        <module>spring</module>
-        <module>webhook</module>
-        <module>xstream</module>
-        <module>xml</module>
-        <module>xalan</module>
+        <module>deployment</module>
+        <module>runtime</module>
     </modules>
 </project>
diff --git a/extensions-support/bouncycastle/runtime/pom.xml b/extensions-support/bouncycastle/runtime/pom.xml
new file mode 100644
index 0000000..07a6eac
--- /dev/null
+++ b/extensions-support/bouncycastle/runtime/pom.xml
@@ -0,0 +1,80 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-support-bouncycastle-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-support-bouncycastle</artifactId>
+    <name>Camel Quarkus :: Support :: Bouncy Castle :: Runtime</name>
+
+    <properties>
+        <firstVersion>1.1.0</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+        </dependency>        
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions-support/bouncycastle/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-support/bouncycastle/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..50c9c1a
--- /dev/null
+++ b/extensions-support/bouncycastle/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,27 @@
+#
+# 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.
+#
+
+---
+name: "Camel Quarkus Support Bouncy Castle"
+description: "Camel Quarkus Support Bouncy Castle"
+metadata:
+  unlisted: true
+  keywords:
+  - "camel"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+  - "integration"
diff --git a/extensions-support/pom.xml b/extensions-support/pom.xml
index 12dee0c..8fd3916 100644
--- a/extensions-support/pom.xml
+++ b/extensions-support/pom.xml
@@ -36,6 +36,7 @@
         <module>ahc</module>
         <module>aws</module>
         <module>aws2</module>
+        <module>bouncycastle</module>
         <module>common</module>
         <module>commons-logging</module>
         <module>consul-client</module>
diff --git a/extensions/as2/deployment/pom.xml b/extensions/as2/deployment/pom.xml
new file mode 100644
index 0000000..83d9cf6
--- /dev/null
+++ b/extensions/as2/deployment/pom.xml
@@ -0,0 +1,67 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-as2-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-as2-deployment</artifactId>
+    <name>Camel Quarkus :: AS2 :: Deployment</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-as2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-bouncycastle-deployment</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions/as2/deployment/src/main/java/org/apache/camel/quarkus/component/as2/deployment/As2Processor.java b/extensions/as2/deployment/src/main/java/org/apache/camel/quarkus/component/as2/deployment/As2Processor.java
new file mode 100644
index 0000000..8aebdaf
--- /dev/null
+++ b/extensions/as2/deployment/src/main/java/org/apache/camel/quarkus/component/as2/deployment/As2Processor.java
@@ -0,0 +1,87 @@
+/*
+ * 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.quarkus.component.as2.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.annotations.ExecutionTime;
+import io.quarkus.deployment.annotations.Record;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
+import io.quarkus.deployment.builditem.LogConsoleFormatBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
+import org.apache.camel.component.as2.AS2ClientManagerEndpointConfiguration;
+import org.apache.camel.component.as2.AS2ServerManagerEndpointConfiguration;
+import org.apache.camel.component.as2.api.util.AS2Utils;
+import org.apache.camel.quarkus.component.as2.As2Recorder;
+import org.jboss.jandex.IndexView;
+
+class As2Processor {
+
+    private static final String FEATURE = "camel-as2";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new RuntimeInitializedClassBuildItem(AS2Utils.class.getCanonicalName());
+    }
+
+    @BuildStep
+    ReflectiveClassBuildItem registerAs2ConfigurationForReflection() {
+        return new ReflectiveClassBuildItem(true, true,
+                AS2ServerManagerEndpointConfiguration.class.getCanonicalName(),
+                AS2ClientManagerEndpointConfiguration.class.getCanonicalName(),
+                java.security.AlgorithmParameterGeneratorSpi.class.getCanonicalName());
+    }
+
+    @BuildStep
+    ReflectiveClassBuildItem registerForReflection(CombinedIndexBuildItem combinedIndex) {
+        IndexView index = combinedIndex.getIndex();
+
+        String[] dtos = index.getKnownClasses().stream()
+                .map(ci -> ci.name().toString())
+                .filter(n -> n.startsWith("org.apache.velocity.runtime") || n.startsWith("org.apache.velocity.util"))
+                .sorted()
+                .toArray(String[]::new);
+
+        return new ReflectiveClassBuildItem(false, false, dtos);
+    }
+
+    @BuildStep
+    IndexDependencyBuildItem registerDependencyForIndex() {
+        return new IndexDependencyBuildItem("org.apache.velocity", "velocity-engine-core");
+    }
+
+    @BuildStep
+    NativeImageResourceBuildItem initResources() {
+        return new NativeImageResourceBuildItem("org/apache/velocity/runtime/defaults/velocity.properties",
+                "org/apache/velocity/runtime/defaults/directive.properties");
+    }
+
+    @BuildStep
+    @Record(ExecutionTime.RUNTIME_INIT)
+    public LogConsoleFormatBuildItem setUpFormatter(As2Recorder as2Recorder) {
+        return new LogConsoleFormatBuildItem(as2Recorder.createFormatter());
+    }
+
+}
diff --git a/extensions/as2/pom.xml b/extensions/as2/pom.xml
new file mode 100644
index 0000000..6440496
--- /dev/null
+++ b/extensions/as2/pom.xml
@@ -0,0 +1,39 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-as2-parent</artifactId>
+    <name>Camel Quarkus :: AS2</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+    </modules>
+</project>
diff --git a/extensions/as2/runtime/pom.xml b/extensions/as2/runtime/pom.xml
new file mode 100644
index 0000000..6ee151f
--- /dev/null
+++ b/extensions/as2/runtime/pom.xml
@@ -0,0 +1,108 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-as2-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-as2</artifactId>
+    <name>Camel Quarkus :: AS2 :: Runtime</name>
+    <description>Transfer data securely and reliably using the AS2 protocol (RFC4130).</description>
+
+    <properties>
+        <firstVersion>1.0.0-CR4</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-as2</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>log4j-slf4j-impl</artifactId>
+                    <groupId>org.apache.logging.log4j</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-bouncycastle</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.slf4j</groupId>
+            <artifactId>slf4j-jboss-logging</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-extension-doc-page</id>
+                        <goals><goal>update-extension-doc-page</goal></goals>
+                        <phase>process-classes</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/as2/runtime/src/main/doc/usage.adoc b/extensions/as2/runtime/src/main/doc/usage.adoc
new file mode 100644
index 0000000..f0af355
--- /dev/null
+++ b/extensions/as2/runtime/src/main/doc/usage.adoc
@@ -0,0 +1,4 @@
+Depending on its configuration, this component may require SSL encryption on its connections. In such a case, you will need
+to add `quarkus.ssl.native=true` to your `application.properties`.
+See also https://quarkus.io/guides/native-and-ssl[Quarkus native SSL guide] and xref:user-guide/native-mode.adoc[Native mode]
+section of Camel Quarkus user guide.
diff --git a/extensions/as2/runtime/src/main/java/org/apache/camel/quarkus/component/as2/As2Recorder.java b/extensions/as2/runtime/src/main/java/org/apache/camel/quarkus/component/as2/As2Recorder.java
new file mode 100644
index 0000000..cbfe6bb
--- /dev/null
+++ b/extensions/as2/runtime/src/main/java/org/apache/camel/quarkus/component/as2/As2Recorder.java
@@ -0,0 +1,34 @@
+/*
+ * 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.quarkus.component.as2;
+
+import java.util.Optional;
+import java.util.logging.Formatter;
+
+import io.quarkus.runtime.RuntimeValue;
+import io.quarkus.runtime.annotations.Recorder;
+import org.jboss.logmanager.formatters.PatternFormatter;
+
+@Recorder
+public class As2Recorder {
+
+    public RuntimeValue<Optional<Formatter>> createFormatter() {
+        final Formatter formatter = new PatternFormatter("[%30.30t] %-30.30c{1} %-5p %m%n");
+        return new RuntimeValue<>(Optional.of(formatter));
+    }
+}
diff --git a/extensions/as2/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/as2/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..7ecc69c
--- /dev/null
+++ b/extensions/as2/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,31 @@
+#
+# 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.
+#
+
+# This is a generated file. Do not edit directly!
+# To re-generate, run the following command from the top level directory:
+#
+#   mvn -N cq:update-quarkus-metadata
+#
+---
+name: "Camel AS2"
+description: "Transfer data securely and reliably using the AS2 protocol (RFC4130)"
+metadata:
+  guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/as2.html"
+  categories:
+  - "integration"
+  status:
+  - "stable"
diff --git a/extensions/pom.xml b/extensions/pom.xml
index dc708c9..15a1df3 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -38,6 +38,7 @@
         <module>ahc-ws</module>
         <module>amqp</module>
         <module>arangodb</module>
+        <module>as2</module>
         <module>attachments</module>
         <module>avro</module>
         <module>aws-ec2</module>
diff --git a/integration-tests/as2/pom.xml b/integration-tests/as2/pom.xml
new file mode 100644
index 0000000..e1d0dad
--- /dev/null
+++ b/integration-tests/as2/pom.xml
@@ -0,0 +1,145 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-integration-tests</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-integration-test-as2</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: AS2</name>
+    <description>Integration tests for Camel Quarkus AS2 extension</description>
+
+    <properties>
+        <!-- mvnd, a.k.a. Maven Daemon: https://github.com/gnodet/mvnd -->
+        <!-- The following rule tells mvnd to build the listed deployment modules before this module. -->
+        <!-- This is important because mvnd builds modules in parallel by default. The deployment modules are not -->
+        <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
+        <!-- Please update rule whenever you change the dependencies of this module by running -->
+        <!--     mvn process-resources -Pformat    from the root directory -->
+        <mvnd.builder.rule>camel-quarkus-as2-deployment,camel-quarkus-mock-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-test</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-as2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy-jackson</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-integration-test-support</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-mock</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/As2CertificateHelper.java b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/As2CertificateHelper.java
new file mode 100644
index 0000000..d6089e6
--- /dev/null
+++ b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/As2CertificateHelper.java
@@ -0,0 +1,140 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import java.io.IOException;
+import java.math.BigInteger;
+import java.security.GeneralSecurityException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.camel.component.as2.api.AS2ClientConnection;
+import org.apache.camel.component.as2.api.AS2ClientManager;
+import org.bouncycastle.asn1.x500.X500Name;
+import org.bouncycastle.asn1.x509.AuthorityKeyIdentifier;
+import org.bouncycastle.asn1.x509.Extension;
+import org.bouncycastle.asn1.x509.SubjectKeyIdentifier;
+import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
+import org.bouncycastle.cert.X509v3CertificateBuilder;
+import org.bouncycastle.cert.bc.BcX509ExtensionUtils;
+import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
+import org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.operator.OperatorCreationException;
+import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
+
+public class As2CertificateHelper {
+
+    private static final String TARGET_HOST = "localhost";
+    private static final String AS2_VERSION = "1.1";
+    private static final String USER_AGENT = "Camel AS2 Endpoint";
+    private static final String CLIENT_FQDN = "example.org";
+
+    private static KeyPair signingKP;
+    private static X509Certificate signingCert;
+    private static List<X509Certificate> certList;
+    // certificate serial number seed.
+    static int serialNo = 1;
+
+    private As2CertificateHelper() {
+    }
+
+    public static void setup() throws Exception {
+        Security.addProvider(new BouncyCastleProvider());
+
+        //
+        // set up our certificates
+        //
+        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "BC");
+
+        kpg.initialize(1024, new SecureRandom());
+
+        String issueDN = "O=Earth 2 Software, C=E2";
+        KeyPair issueKP = kpg.generateKeyPair();
+        X509Certificate issueCert = makeCertificate(
+                issueKP, issueDN, issueKP, issueDN);
+
+        //
+        // certificate we sign against
+        //
+        String signingDN = "CN=Shekdon, E=test@gmail.com, O=Earth 2 Software, C=E2";
+        signingKP = kpg.generateKeyPair();
+        signingCert = makeCertificate(
+                signingKP, signingDN, issueKP, issueDN);
+
+        certList = new ArrayList<>();
+
+        certList.add(signingCert);
+        certList.add(issueCert);
+
+    }
+
+    /**
+     * create a basic X509 certificate from the given keys
+     */
+    public static X509Certificate makeCertificate(KeyPair subKP, String subDN, KeyPair issKP, String issDN)
+            throws GeneralSecurityException, IOException, OperatorCreationException {
+        PublicKey subPub = subKP.getPublic();
+        PrivateKey issPriv = issKP.getPrivate();
+        PublicKey issPub = issKP.getPublic();
+
+        X509v3CertificateBuilder v3CertGen = new JcaX509v3CertificateBuilder(new X500Name(issDN),
+                BigInteger.valueOf(serialNo++), new Date(System.currentTimeMillis()),
+                new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 100)), new X500Name(subDN), subPub);
+
+        v3CertGen.addExtension(Extension.subjectKeyIdentifier, false, createSubjectKeyId(subPub));
+
+        v3CertGen.addExtension(Extension.authorityKeyIdentifier, false, createAuthorityKeyId(issPub));
+
+        return new JcaX509CertificateConverter().setProvider("BC").getCertificate(
+                v3CertGen.build(new JcaContentSignerBuilder("MD5withRSA").setProvider("BC").build(issPriv)));
+    }
+
+    public static AuthorityKeyIdentifier createAuthorityKeyId(PublicKey pub) throws IOException {
+        SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(pub.getEncoded());
+
+        BcX509ExtensionUtils utils = new BcX509ExtensionUtils();
+        return utils.createAuthorityKeyIdentifier(info);
+    }
+
+    public static SubjectKeyIdentifier createSubjectKeyId(PublicKey pub) throws IOException {
+        SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(pub.getEncoded());
+
+        return new BcX509ExtensionUtils().createSubjectKeyIdentifier(info);
+    }
+
+    public static AS2ClientManager createClient(int port) throws IOException {
+        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN, TARGET_HOST, port);
+        return new AS2ClientManager(clientConnection);
+    }
+
+    public static List<X509Certificate> getCertList() {
+        return certList;
+    }
+
+    public static KeyPair getSigningKP() {
+        return signingKP;
+    }
+}
diff --git a/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/As2Resource.java b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/As2Resource.java
new file mode 100644
index 0000000..3f4c04d
--- /dev/null
+++ b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/As2Resource.java
@@ -0,0 +1,131 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.camel.ConsumerTemplate;
+import org.apache.camel.Exchange;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.as2.api.entity.DispositionNotificationMultipartReportEntity;
+import org.apache.camel.component.as2.api.entity.MimeEntity;
+import org.apache.camel.component.as2.api.entity.MultipartSignedEntity;
+import org.apache.camel.component.as2.internal.AS2Constants;
+import org.apache.camel.quarkus.component.as2.it.transport.ClientResult;
+import org.apache.camel.quarkus.component.as2.it.transport.Request;
+import org.apache.camel.quarkus.component.as2.it.transport.ServerResult;
+import org.apache.http.protocol.HttpCoreContext;
+import org.jboss.logging.Logger;
+
+@Path("/as2")
+@ApplicationScoped
+public class As2Resource {
+
+    public static String CLIENT_PORT_PARAMETER = As2Resource.class.getSimpleName() + "-client-port";
+    public static String SERVER_PORT_PARAMETER = As2Resource.class.getSimpleName() + "-server-port";
+
+    private static final Logger LOG = Logger.getLogger(As2Resource.class);
+
+    @Inject
+    ProducerTemplate producerTemplate;
+
+    @Inject
+    ConsumerTemplate consumerTemplate;
+
+    @Path("/client")
+    @POST
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.APPLICATION_JSON)
+    public ClientResult client(Request request) throws Exception {
+        LOG.infof("Sending to as2: %s", request.getHeaders());
+        As2CertificateHelper.setup();
+        final Object response = producerTemplate.requestBodyAndHeaders(getClientEndpoint(),
+                request.getEdiMessage(), request.collectHeaders());
+        ClientResult clientResult = new ClientResult();
+        if (response instanceof DispositionNotificationMultipartReportEntity) {
+            clientResult.setDispositionNotificationMultipartReportEntity(true);
+            clientResult.setPartsCount(((DispositionNotificationMultipartReportEntity) response).getPartCount());
+            if (clientResult.getPartsCount() > 1) {
+                clientResult.setSecondPartClassName(
+                        ((DispositionNotificationMultipartReportEntity) response).getPart(1).getClass().getSimpleName());
+            }
+        } else if (response instanceof MultipartSignedEntity) {
+            clientResult.setMultipartSignedEntity(true);
+            MimeEntity responseSignedDataEntity = ((MultipartSignedEntity) response).getSignedDataEntity();
+            clientResult
+                    .setPartsCount(((DispositionNotificationMultipartReportEntity) responseSignedDataEntity).getPartCount());
+            if (clientResult.getPartsCount() > 1) {
+                clientResult.setSecondPartClassName(
+                        ((DispositionNotificationMultipartReportEntity) responseSignedDataEntity).getPart(1).getClass()
+                                .getSimpleName());
+            }
+            clientResult.setSignedEntityReceived(((MultipartSignedEntity) response).getSignatureEntity() != null);
+        }
+
+        LOG.infof("Got response from as2: %s", response);
+        return clientResult;
+    }
+
+    @Path("/serverInit")
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    public boolean serverInit() throws Exception {
+        LOG.info("Initializing server from as2 component.");
+        //execute request, which won't return anything, because client doesn't send anything, but it starts component
+        consumerTemplate.receiveNoWait(getServerEndpoint());
+        return true;
+    }
+
+    @Path("/server")
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    public ServerResult server() throws Exception {
+        LOG.info("Receiving from as2.");
+        Exchange exchange = consumerTemplate.receive(getServerEndpoint());
+        if (exchange == null) {
+            return null;
+        }
+        ServerResult serverResult = new ServerResult();
+        serverResult.setResult(exchange.getIn().getBody(String.class));
+        HttpCoreContext coreContext = exchange.getProperty(AS2Constants.AS2_INTERCHANGE, HttpCoreContext.class);
+        if (coreContext != null) {
+            serverResult.setRequestClass(coreContext.getRequest().getClass().getSimpleName());
+        }
+        return serverResult;
+    }
+
+    private String getServerEndpoint() {
+        String url = String.format("as2://server/listen?serverPortNumber=%s&clientFqdn=%s&requestUriPattern=/",
+                System.getProperty(SERVER_PORT_PARAMETER), "example.com");
+
+        return url;
+    }
+
+    private String getClientEndpoint() {
+        String url = String.format("as2://client/send?inBody=ediMessage&targetPortNumber=%s&targetHostname=%s",
+                System.getProperty(CLIENT_PORT_PARAMETER), "localhost");
+
+        return url;
+    }
+}
diff --git a/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/ClientResult.java b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/ClientResult.java
new file mode 100644
index 0000000..2c8518e
--- /dev/null
+++ b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/ClientResult.java
@@ -0,0 +1,68 @@
+/*
+ * 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.quarkus.component.as2.it.transport;
+
+public class ClientResult {
+
+    boolean dispositionNotificationMultipartReportEntity;
+    boolean multipartSignedEntity;
+    boolean signedEntityReceived;
+
+    int partsCount;
+
+    String secondPartClassName;
+
+    public boolean isDispositionNotificationMultipartReportEntity() {
+        return dispositionNotificationMultipartReportEntity;
+    }
+
+    public void setDispositionNotificationMultipartReportEntity(boolean dispositionNotificationMultipartReportEntity) {
+        this.dispositionNotificationMultipartReportEntity = dispositionNotificationMultipartReportEntity;
+    }
+
+    public int getPartsCount() {
+        return partsCount;
+    }
+
+    public void setPartsCount(int partsCount) {
+        this.partsCount = partsCount;
+    }
+
+    public String getSecondPartClassName() {
+        return secondPartClassName;
+    }
+
+    public void setSecondPartClassName(String secondPartClassName) {
+        this.secondPartClassName = secondPartClassName;
+    }
+
+    public boolean isMultipartSignedEntity() {
+        return multipartSignedEntity;
+    }
+
+    public void setMultipartSignedEntity(boolean multipartSignedEntity) {
+        this.multipartSignedEntity = multipartSignedEntity;
+    }
+
+    public boolean isSignedEntityReceived() {
+        return signedEntityReceived;
+    }
+
+    public void setSignedEntityReceived(boolean signedEntityReceived) {
+        this.signedEntityReceived = signedEntityReceived;
+    }
+}
diff --git a/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/Request.java b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/Request.java
new file mode 100644
index 0000000..8b89a3b
--- /dev/null
+++ b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/Request.java
@@ -0,0 +1,152 @@
+/*
+ * 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.quarkus.component.as2.it.transport;
+
+import java.security.cert.Certificate;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.camel.component.as2.api.AS2Charset;
+import org.apache.camel.component.as2.api.AS2EncryptionAlgorithm;
+import org.apache.camel.component.as2.api.AS2MediaType;
+import org.apache.camel.component.as2.api.AS2MessageStructure;
+import org.apache.camel.component.as2.api.AS2SignatureAlgorithm;
+import org.apache.camel.quarkus.component.as2.it.As2CertificateHelper;
+import org.apache.http.entity.ContentType;
+
+public class Request {
+
+    private AS2MessageStructure messageStructure;
+    private String messageStructureKey;
+    private ContentType contentType;
+    private String contentTypeKey;
+    private Map<String, Object> headers = new HashMap<>();
+    private String ediMessage;
+    private AS2EncryptionAlgorithm encryptionAlgorithm;
+    private AS2SignatureAlgorithm signingAlgorithm;
+
+    public Request() {
+    }
+
+    public Request(String ediMessage) {
+        this.ediMessage = ediMessage;
+    }
+
+    public AS2MessageStructure getMessageStructure() {
+        return messageStructure;
+    }
+
+    public void setMessageStructure(AS2MessageStructure messageStructure) {
+        this.messageStructure = messageStructure;
+    }
+
+    public Map<String, Object> getHeaders() {
+        return headers;
+    }
+
+    public void addField(String key, Object value) {
+        this.headers.put(key, value);
+    }
+
+    public void setHeaders(Map<String, Object> headers) {
+        this.headers = headers;
+    }
+
+    public String getMessageStructureKey() {
+        return messageStructureKey;
+    }
+
+    public void setMessageStructureKey(String messageStructureKey) {
+        this.messageStructureKey = messageStructureKey;
+    }
+
+    public ContentType getContentType() {
+        return contentType;
+    }
+
+    public void setContentType(ContentType contentType) {
+        this.contentType = contentType;
+    }
+
+    public String getContentTypeKey() {
+        return contentTypeKey;
+    }
+
+    public void setContentTypeKey(String contentTypeKey) {
+        this.contentTypeKey = contentTypeKey;
+    }
+
+    public String getEdiMessage() {
+        return ediMessage;
+    }
+
+    public Request withEdiMessage(String ediMessage) {
+        this.ediMessage = ediMessage;
+        return this;
+    }
+
+    public Request withHeaders(Map<String, Object> headers) {
+        this.headers = headers;
+        for (Map.Entry<String, Object> entry : headers.entrySet()) {
+            if (entry.getValue() instanceof AS2MessageStructure) {
+                setMessageStructure((AS2MessageStructure) entry.getValue());
+                setMessageStructureKey(entry.getKey());
+            }
+        }
+        return this;
+    }
+
+    public Map<String, Object> collectHeaders() {
+        Map<String, Object> retVal = new HashMap<>(headers);
+        if (getMessageStructure() != null) {
+            retVal.put(getMessageStructureKey(), getMessageStructure());
+        }
+        retVal.put("CamelAS2.ediMessageContentType",
+                org.apache.http.entity.ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII));
+        if (getEncryptionAlgorithm() != null) {
+            retVal.put("CamelAS2.encryptingCertificateChain", As2CertificateHelper.getCertList());
+            retVal.put("CamelAS2.encryptingAlgorithm", getEncryptionAlgorithm());
+        }
+        if (getSigningAlgorithm() != null) {
+            // parameter type is java.security.cert.Certificate[]
+            retVal.put("CamelAS2.signingCertificateChain", As2CertificateHelper.getCertList().toArray(new Certificate[0]));
+            // parameter type is java.security.PrivateKey
+            retVal.put("CamelAS2.signingPrivateKey", As2CertificateHelper.getSigningKP().getPrivate());
+            // parameter type is org.apache.camel.component.as2.api.AS2SignatureAlgorithm
+            retVal.put("CamelAS2.signingAlgorithm", getSigningAlgorithm());
+        }
+        return retVal;
+    }
+
+    public AS2EncryptionAlgorithm getEncryptionAlgorithm() {
+        return encryptionAlgorithm;
+    }
+
+    public Request withEncryptionAlgorithm(AS2EncryptionAlgorithm encryptionAlgorithm) {
+        this.encryptionAlgorithm = encryptionAlgorithm;
+        return this;
+    }
+
+    public AS2SignatureAlgorithm getSigningAlgorithm() {
+        return signingAlgorithm;
+    }
+
+    public Request withSigningAlgorithm(AS2SignatureAlgorithm signingAlgorithm) {
+        this.signingAlgorithm = signingAlgorithm;
+        return this;
+    }
+}
diff --git a/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/ServerResult.java b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/ServerResult.java
new file mode 100644
index 0000000..bfc79cf
--- /dev/null
+++ b/integration-tests/as2/src/main/java/org/apache/camel/quarkus/component/as2/it/transport/ServerResult.java
@@ -0,0 +1,39 @@
+/*
+ * 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.quarkus.component.as2.it.transport;
+
+public class ServerResult {
+
+    String result;
+    String requestClass;
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result;
+    }
+
+    public String getRequestClass() {
+        return requestClass;
+    }
+
+    public void setRequestClass(String requestClass) {
+        this.requestClass = requestClass;
+    }
+}
diff --git a/integration-tests/as2/src/main/resources/application.properties b/integration-tests/as2/src/main/resources/application.properties
new file mode 100644
index 0000000..8136208
--- /dev/null
+++ b/integration-tests/as2/src/main/resources/application.properties
@@ -0,0 +1,18 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+quarkus.ssl.native=true
diff --git a/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Helper.java b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Helper.java
new file mode 100644
index 0000000..d4b0123
--- /dev/null
+++ b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Helper.java
@@ -0,0 +1,123 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.camel.component.as2.api.AS2Charset;
+import org.apache.camel.component.as2.api.AS2EncryptionAlgorithm;
+import org.apache.camel.component.as2.api.AS2MediaType;
+import org.apache.camel.component.as2.api.AS2MessageStructure;
+import org.apache.camel.component.as2.api.AS2SignatureAlgorithm;
+import org.apache.camel.quarkus.component.as2.it.transport.Request;
+import org.apache.http.entity.ContentType;
+
+public class As2Helper {
+
+    public static final String AS2_VERSION = "1.1";
+    public static final String REQUEST_URI = "/";
+    public static final String SUBJECT = "Test Case";
+    public static final String AS2_NAME = "878051556";
+    public static final String FROM = "mrAS@example.org";
+    public static final String[] SIGNED_RECEIPT_MIC_ALGORITHMS = new String[] { "sha1", "md5" };
+    public static final String DISPOSITION_NOTIFICATION_TO = FROM;
+    public static final String EDI_MESSAGE = "UNB+UNOA:1+005435656:1+006415160:1+060515:1434+00000000000778'\n"
+            + "UNH+00000000000117+INVOIC:D:97B:UN'\n"
+            + "BGM+380+342459+9'\n"
+            + "DTM+3:20060515:102'\n"
+            + "RFF+ON:521052'\n"
+            + "NAD+BY+792820524::16++CUMMINS MID-RANGE ENGINE PLANT'\n"
+            + "NAD+SE+005435656::16++GENERAL WIDGET COMPANY'\n"
+            + "CUX+1:USD'\n"
+            + "LIN+1++157870:IN'\n"
+            + "IMD+F++:::WIDGET'\n"
+            + "QTY+47:1020:EA'\n"
+            + "ALI+US'\n"
+            + "MOA+203:1202.58'\n"
+            + "PRI+INV:1.179'\n"
+            + "LIN+2++157871:IN'\n"
+            + "IMD+F++:::DIFFERENT WIDGET'\n"
+            + "QTY+47:20:EA'\n"
+            + "ALI+JP'\n"
+            + "MOA+203:410'\n"
+            + "PRI+INV:20.5'\n"
+            + "UNS+S'\n"
+            + "MOA+39:2137.58'\n"
+            + "ALC+C+ABG'\n"
+            + "MOA+8:525'\n"
+            + "UNT+23+00000000000117'\n"
+            + "UNZ+1+00000000000778'";
+
+    private static final String EDI_MESSAGE_CONTENT_TRANSFER_ENCODING = "7bit";
+
+    private As2Helper() {
+    }
+
+    public static Request createPlainRequest() {
+        final Map<String, Object> headers = createBaseHeaders(AS2MessageStructure.PLAIN);
+
+        return new Request()
+                .withHeaders(headers)
+                .withEdiMessage(EDI_MESSAGE);
+    }
+
+    public static Request createEncryptedRequest() {
+        final Map<String, Object> headers = createBaseHeaders(AS2MessageStructure.ENCRYPTED);
+
+        return new Request()
+                .withHeaders(headers)
+                .withEdiMessage(EDI_MESSAGE)
+                .withEncryptionAlgorithm(AS2EncryptionAlgorithm.AES128_CBC);
+    }
+
+    public static Request createMultipartSignedRequest() {
+        final Map<String, Object> headers = createBaseHeaders(AS2MessageStructure.SIGNED);
+        // parameter type is String[]
+        headers.put("CamelAS2.signedReceiptMicAlgorithms", SIGNED_RECEIPT_MIC_ALGORITHMS);
+
+        return new Request()
+                .withHeaders(headers)
+                .withEdiMessage(EDI_MESSAGE)
+                .withSigningAlgorithm(AS2SignatureAlgorithm.SHA512WITHRSA);
+    }
+
+    private static Map<String, Object> createBaseHeaders(AS2MessageStructure plain) {
+        final Map<String, Object> headers = new HashMap<>();
+        // parameter type is String
+        headers.put("CamelAS2.requestUri", REQUEST_URI);
+        // parameter type is String
+        headers.put("CamelAS2.subject", SUBJECT);
+        // parameter type is String
+        headers.put("CamelAS2.from", FROM);
+        // parameter type is String
+        headers.put("CamelAS2.as2From", AS2_NAME);
+        // parameter type is String
+        headers.put("CamelAS2.as2To", AS2_NAME);
+        // parameter type is org.apache.camel.component.as2.api.AS2MessageStructure
+        headers.put("CamelAS2.as2MessageStructure", plain);
+        // parameter type is org.apache.http.entity.ContentType
+        headers.put("CamelAS2.ediMessageContentType",
+                ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII));
+        // parameter type is String
+        headers.put("CamelAS2.ediMessageTransferEncoding", EDI_MESSAGE_CONTENT_TRANSFER_ENCODING);
+        // parameter type is String
+        headers.put("CamelAS2.dispositionNotificationTo", DISPOSITION_NOTIFICATION_TO);
+        return headers;
+    }
+
+}
diff --git a/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2IT.java b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2IT.java
new file mode 100644
index 0000000..1896dda
--- /dev/null
+++ b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2IT.java
@@ -0,0 +1,24 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+@NativeImageTest
+class As2IT extends As2Test {
+
+}
diff --git a/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Receiver.java b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Receiver.java
new file mode 100644
index 0000000..6b288bb
--- /dev/null
+++ b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Receiver.java
@@ -0,0 +1,169 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import java.io.IOException;
+import java.math.BigInteger;
+import java.security.GeneralSecurityException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.camel.component.as2.api.AS2ServerConnection;
+import org.apache.camel.component.as2.api.AS2SignatureAlgorithm;
+import org.apache.http.HttpException;
+import org.apache.http.HttpRequest;
+import org.apache.http.HttpResponse;
+import org.apache.http.protocol.HttpContext;
+import org.apache.http.protocol.HttpRequestHandler;
+import org.bouncycastle.asn1.x500.X500Name;
+import org.bouncycastle.asn1.x509.AuthorityKeyIdentifier;
+import org.bouncycastle.asn1.x509.Extension;
+import org.bouncycastle.asn1.x509.SubjectKeyIdentifier;
+import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
+import org.bouncycastle.cert.X509v3CertificateBuilder;
+import org.bouncycastle.cert.bc.BcX509ExtensionUtils;
+import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
+import org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.operator.OperatorCreationException;
+import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
+
+public class As2Receiver {
+    private static final String SERVER_FQDN = "server.example.com";
+    private static final String ORIGIN_SERVER_NAME = "AS2ClientManagerIntegrationTest Server";
+    private static AS2ServerConnection serverConnection;
+    private static KeyPair serverSigningKP;
+    private static List<X509Certificate> serverCertList;
+    private static RequestHandler receiverHandler;
+    // certificate serial number seed.
+    private static int serialNo = 1;
+
+    private As2Receiver() {
+    }
+
+    public static RequestHandler startReceiver(int port) throws Exception {
+        if (receiverHandler == null) {
+            setupServerKeysAndCertificates();
+            receiverHandler = receiveTestMessages(port);
+        }
+        return receiverHandler;
+    }
+
+    private static void setupServerKeysAndCertificates() throws Exception {
+        Security.addProvider(new BouncyCastleProvider());
+
+        //
+        // set up our certificates
+        //
+        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "BC");
+
+        kpg.initialize(1024, new SecureRandom());
+
+        String issueDN = "O=Earth2 Software, C=E2";
+        KeyPair issueKP = kpg.generateKeyPair();
+        X509Certificate issueCert = makeCertificate(
+                issueKP, issueDN, issueKP, issueDN);
+
+        //
+        // certificate we sign against
+        //
+        String signingDN = "CN=Sheldon, E=test@gmail.com, O=Earth2 Software, C=E2";
+        serverSigningKP = kpg.generateKeyPair();
+        X509Certificate signingCert = makeCertificate(
+                serverSigningKP, signingDN, issueKP, issueDN);
+
+        serverCertList = new ArrayList<>();
+
+        serverCertList.add(signingCert);
+        serverCertList.add(issueCert);
+    }
+
+    private static RequestHandler receiveTestMessages(int port) throws IOException {
+        serverConnection = new AS2ServerConnection(As2Helper.AS2_VERSION, ORIGIN_SERVER_NAME,
+                SERVER_FQDN, port, AS2SignatureAlgorithm.SHA256WITHRSA,
+                serverCertList.toArray(new Certificate[0]), serverSigningKP.getPrivate(), serverSigningKP.getPrivate());
+
+        RequestHandler handler = new RequestHandler();
+        serverConnection.listen("/", handler);
+
+        return handler;
+    }
+
+    /**
+     * create a basic X509 certificate from the given keys
+     */
+    public static X509Certificate makeCertificate(KeyPair subKP, String subDN, KeyPair issKP, String issDN)
+            throws GeneralSecurityException, IOException, OperatorCreationException {
+        PublicKey subPub = subKP.getPublic();
+        PrivateKey issPriv = issKP.getPrivate();
+        PublicKey issPub = issKP.getPublic();
+
+        X509v3CertificateBuilder v3CertGen = new JcaX509v3CertificateBuilder(new X500Name(issDN),
+                BigInteger.valueOf(serialNo++), new Date(System.currentTimeMillis()),
+                new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 100)), new X500Name(subDN), subPub);
+
+        v3CertGen.addExtension(Extension.subjectKeyIdentifier, false, createSubjectKeyId(subPub));
+
+        v3CertGen.addExtension(Extension.authorityKeyIdentifier, false, createAuthorityKeyId(issPub));
+
+        return new JcaX509CertificateConverter().setProvider("BC").getCertificate(
+                v3CertGen.build(new JcaContentSignerBuilder("MD5withRSA").setProvider("BC").build(issPriv)));
+    }
+
+    public static AuthorityKeyIdentifier createAuthorityKeyId(PublicKey pub) throws IOException {
+        SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(pub.getEncoded());
+
+        BcX509ExtensionUtils utils = new BcX509ExtensionUtils();
+        return utils.createAuthorityKeyIdentifier(info);
+    }
+
+    public static SubjectKeyIdentifier createSubjectKeyId(PublicKey pub) throws IOException {
+        SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(pub.getEncoded());
+
+        return new BcX509ExtensionUtils().createSubjectKeyIdentifier(info);
+    }
+
+    public static class RequestHandler implements HttpRequestHandler {
+
+        private HttpRequest request;
+        private HttpResponse response;
+
+        @Override
+        public void handle(HttpRequest request, HttpResponse response, HttpContext context)
+                throws HttpException, IOException {
+            this.request = request;
+            this.response = response;
+        }
+
+        public HttpRequest getRequest() {
+            return request;
+        }
+
+        public HttpResponse getResponse() {
+            return response;
+        }
+    }
+}
diff --git a/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Sender.java b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Sender.java
new file mode 100644
index 0000000..e8d2d9e
--- /dev/null
+++ b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Sender.java
@@ -0,0 +1,54 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import java.io.IOException;
+
+import org.apache.camel.component.as2.api.AS2Charset;
+import org.apache.camel.component.as2.api.AS2ClientConnection;
+import org.apache.camel.component.as2.api.AS2ClientManager;
+import org.apache.camel.component.as2.api.AS2MediaType;
+import org.apache.camel.component.as2.api.AS2MessageStructure;
+import org.apache.http.HttpException;
+import org.apache.http.entity.ContentType;
+
+public class As2Sender {
+
+    private static final String TARGET_HOST = "localhost";
+    private static final String USER_AGENT = "Camel AS2 Endpoint";
+    private static final String CLIENT_FQDN = "example.org";
+
+    private As2Sender() {
+    }
+
+    public static As2SenderClient createClient(int port) throws IOException {
+        AS2ClientConnection clientConnection = new AS2ClientConnection(As2Helper.AS2_VERSION, USER_AGENT, CLIENT_FQDN,
+                TARGET_HOST, port);
+        AS2ClientManager clientManager = new AS2ClientManager(clientConnection);
+
+        return ediMessage -> clientManager.send(ediMessage, As2Helper.REQUEST_URI, As2Helper.SUBJECT, As2Helper.FROM,
+                As2Helper.AS2_NAME,
+                As2Helper.AS2_NAME, AS2MessageStructure.PLAIN,
+                ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, null, null, null,
+                null, As2Helper.DISPOSITION_NOTIFICATION_TO, As2Helper.SIGNED_RECEIPT_MIC_ALGORITHMS, null, null);
+    }
+
+    public interface As2SenderClient {
+
+        void sendMessage(String ediMessage) throws HttpException;
+    }
+}
diff --git a/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Test.java b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Test.java
new file mode 100644
index 0000000..d58986c
--- /dev/null
+++ b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2Test.java
@@ -0,0 +1,127 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+
+import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import org.apache.camel.component.as2.api.entity.AS2MessageDispositionNotificationEntity;
+import org.apache.camel.quarkus.component.as2.it.transport.ClientResult;
+import org.apache.camel.quarkus.component.as2.it.transport.Request;
+import org.apache.camel.quarkus.component.as2.it.transport.ServerResult;
+import org.apache.http.message.BasicHttpEntityEnclosingRequest;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.awaitility.Awaitility.await;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@QuarkusTestResource(As2TestResource.class)
+@QuarkusTest
+public class As2Test {
+    private static final Logger LOG = LoggerFactory.getLogger(As2Test.class);
+
+    @Test
+    public void serverPlainTest() throws Exception {
+
+        //prepare component by sending empty request with no wait
+        ExecutorService executor = Executors.newSingleThreadExecutor();
+        Future<Boolean> initResult = executor.submit(
+                () -> RestAssured.given().get("/as2/serverInit").then().statusCode(200).extract().as(Boolean.class));
+
+        //give some time for server component to be created
+        await().atMost(5L, TimeUnit.SECONDS).untilAsserted(() -> {
+            assertTrue(initResult.get());
+        });
+
+        //execute component server to wait for the result
+        Future<ServerResult> futureResult = executor.submit(
+                () -> RestAssured.given().get("/as2/server").then().statusCode(200).extract().as(ServerResult.class));
+
+        //create client for sending message to server
+        As2Sender.As2SenderClient client = As2Sender
+                .createClient(Integer.parseInt(System.getProperty(As2Resource.SERVER_PORT_PARAMETER)));
+
+        //send message to server
+        client.sendMessage(As2Helper.EDI_MESSAGE);
+
+        //wait for the result from the server
+        await().atMost(10L, TimeUnit.SECONDS).untilAsserted(() -> {
+            ServerResult result = futureResult.get();
+
+            assertEquals(As2Helper.EDI_MESSAGE.replaceAll("[\n\r]", ""), result.getResult().replaceAll("[\n\r]", ""),
+                    "Unexpected content for enveloped mime part");
+
+            assertEquals(BasicHttpEntityEnclosingRequest.class.getSimpleName(), result.getRequestClass(),
+                    "Request does not contain entity");
+        });
+    }
+
+    @Test
+    public void clientPlainTest() throws Exception {
+        clientTest(As2Helper.createPlainRequest());
+    }
+
+    @Test
+    public void clientEncryptionTest() throws Exception {
+        clientTest(As2Helper.createEncryptedRequest());
+    }
+
+    @Test
+    public void clientMultipartSignedTest() throws Exception {
+        ClientResult clientResult = clientTest(As2Helper.createMultipartSignedRequest());
+
+        Assertions.assertTrue(clientResult.isSignedEntityReceived(), "Signature Entity");
+    }
+
+    private ClientResult clientTest(Request request) throws Exception {
+
+        //start server (not component)
+        As2Receiver.RequestHandler requestHandler = As2Receiver
+                .startReceiver(Integer.parseInt(System.getProperty(As2Resource.CLIENT_PORT_PARAMETER)));
+
+        //send message by component (as client)
+        ClientResult clientResult = RestAssured.given() //
+                .contentType(io.restassured.http.ContentType.JSON)
+                .body(request)
+                .post("/as2/client") //
+                .then()
+                .statusCode(200)
+                .extract().body().as(ClientResult.class);
+
+        //assert result
+        assertNotNull(clientResult, "Response entity");
+        assertEquals(2, clientResult.getPartsCount(), "Unexpected number of body parts in report");
+        assertEquals(AS2MessageDispositionNotificationEntity.class.getSimpleName(), clientResult.getSecondPartClassName(),
+                "Unexpected type of As2Entity");
+
+        //assert that receiver was really used
+        assertNotNull(requestHandler.getRequest(), "Request");
+        assertNotNull(requestHandler.getResponse(), "Response");
+
+        return clientResult;
+    }
+}
diff --git a/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2TestResource.java b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2TestResource.java
new file mode 100644
index 0000000..59a2f01
--- /dev/null
+++ b/integration-tests/as2/src/test/java/org/apache/camel/quarkus/component/as2/it/As2TestResource.java
@@ -0,0 +1,35 @@
+/*
+ * 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.quarkus.component.as2.it;
+
+import java.util.Map;
+import java.util.Objects;
+
+import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
+import org.apache.camel.quarkus.test.AvailablePortFinder;
+
+public class As2TestResource implements QuarkusTestResourceLifecycleManager {
+    @Override
+    public Map<String, String> start() {
+        return AvailablePortFinder.reserveNetworkPorts(Objects::toString, As2Resource.CLIENT_PORT_PARAMETER,
+                As2Resource.SERVER_PORT_PARAMETER);
+    }
+
+    @Override
+    public void stop() {
+    }
+}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 588d462..b235131 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -67,6 +67,7 @@
         <module>activemq</module>
         <module>amqp</module>
         <module>arangodb</module>
+        <module>as2</module>
         <module>avro</module>
         <module>aws</module>
         <module>aws2</module>
diff --git a/pom.xml b/pom.xml
index 85dfa71..38c35b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,7 @@
         <awssdk1.version>1.11.714</awssdk1.version>
         <awssdk1-swf-libs.version>1.11.22</awssdk1-swf-libs.version>
         <awssdk2.version>2.14.3</awssdk2.version>
+        <bouncycastle.version>1.66</bouncycastle.version>
         <camel.version>3.5.0-SNAPSHOT</camel.version>
         <debezium.version>1.2.1.Final</debezium.version>
         <elasticsearch.version>7.8.0</elasticsearch.version>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 29b6ea5..25483ea 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -141,6 +141,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-as2</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-asterisk</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -1418,6 +1423,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-as2</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-as2-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-asterisk</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -3078,6 +3093,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-support-bouncycastle</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-support-bouncycastle-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-support-common</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -3613,6 +3638,16 @@
                 <version>${ahc.version}</version>
             </dependency>
             <dependency>
+                <artifactId>bcpkix-jdk15on</artifactId>
+                <groupId>org.bouncycastle</groupId>
+                <version>${bouncycastle.version}</version>
+            </dependency>
+            <dependency>
+                <artifactId>bcprov-jdk15on</artifactId>
+                <groupId>org.bouncycastle</groupId>
+                <version>${bouncycastle.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.codehaus.groovy</groupId>
                 <artifactId>groovy</artifactId>
                 <version>${groovy.version}</version>
diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml
index 6d22bcd..aa3afb1 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -99,6 +99,7 @@ misc:
   - tika
   - vertx
 networking:
+  - as2
   - ftp
   - http
   - mail


[camel-quarkus] 06/06: Remove remaining camel UriParams reflective class registrations

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 10a15f6af2040c102c973984360b97ba3b01cc7e
Author: James Netherton <ja...@gmail.com>
AuthorDate: Fri Aug 7 09:17:14 2020 +0100

    Remove remaining camel UriParams reflective class registrations
    
    Fixes #1108
---
 catalog/pom.xml                                    |   1 -
 examples/file-split-log-xml/pom.xml                |   2 +-
 examples/health/pom.xml                            |   2 +-
 examples/http-log/pom.xml                          |   2 +-
 examples/observability/pom.xml                     |   2 +-
 examples/rest-json/pom.xml                         |   2 +-
 examples/timer-log-cdi/pom.xml                     |   2 +-
 examples/timer-log-kotlin/pom.xml                  |   2 +-
 examples/timer-log-main/pom.xml                    |   2 +-
 examples/timer-log-spring/pom.xml                  |   2 +-
 examples/timer-log-xml/pom.xml                     |   2 +-
 examples/timer-log/pom.xml                         |   2 +-
 extensions-jvm/asterisk/integration-test/pom.xml   |   2 +-
 extensions-jvm/avro-rpc/integration-test/pom.xml   |   2 +-
 .../cassandraql/integration-test/pom.xml           |   2 +-
 extensions-jvm/couchbase/integration-test/pom.xml  |   2 +-
 .../debezium-mongodb/integration-test/pom.xml      |   2 +-
 .../google-bigquery/integration-test/pom.xml       |   2 +-
 .../google-pubsub/integration-test/pom.xml         |   2 +-
 extensions-jvm/groovy/integration-test/pom.xml     |   2 +-
 extensions-jvm/grpc/integration-test/pom.xml       |   2 +-
 extensions-jvm/nitrite/integration-test/pom.xml    |   2 +-
 extensions-jvm/ognl/integration-test/pom.xml       |   2 +-
 extensions-jvm/openstack/integration-test/pom.xml  |   2 +-
 extensions-jvm/protobuf/integration-test/pom.xml   |   2 +-
 extensions-jvm/pubnub/integration-test/pom.xml     |   2 +-
 extensions-support/policy/deployment/pom.xml       |  61 ------------
 .../support/policy/deployment/PolicyProcessor.java | 103 ---------------------
 extensions-support/policy/pom.xml                  |  37 --------
 extensions-support/policy/runtime/pom.xml          |  76 ---------------
 .../main/resources/META-INF/quarkus-extension.yaml |  27 ------
 extensions-support/pom.xml                         |   1 -
 extensions/aws2-ses/integration-test/pom.xml       |   2 +-
 .../component/box/deployment/BoxProcessor.java     |  46 ---------
 .../braintree/deployment/BraintreeProcessor.java   |  26 +-----
 .../component/cron/deployment/CronProcessor.java   |  13 ---
 .../component/fhir/deployment/FhirProcessor.java   |  33 -------
 .../deployment/GoogleCalendarProcessor.java        |  30 ------
 .../drive/deployment/GoogleDriveProcessor.java     |  29 ------
 .../mail/deployment/GoogleMailProcessor.java       |  29 ------
 .../sheets/deployment/GoogleSheetsProcessor.java   |  29 ------
 .../component/log/deployment/LogProcessor.java     |  10 --
 .../olingo4/deployment/Olingo4Processor.java       |   9 --
 integration-tests/activemq/pom.xml                 |   2 +-
 integration-tests/amqp/pom.xml                     |   2 +-
 integration-tests/arangodb/pom.xml                 |   2 +-
 integration-tests/as2/pom.xml                      |   2 +-
 integration-tests/avro/pom.xml                     |   2 +-
 integration-tests/aws/pom.xml                      |   2 +-
 integration-tests/aws2/pom.xml                     |   2 +-
 integration-tests/azure/pom.xml                    |   2 +-
 integration-tests/base64/pom.xml                   |   2 +-
 integration-tests/bean-validator/pom.xml           |   2 +-
 integration-tests/bean/pom.xml                     |   2 +-
 integration-tests/bindy/pom.xml                    |   2 +-
 integration-tests/box/pom.xml                      |   2 +-
 integration-tests/braintree/pom.xml                |   2 +-
 integration-tests/compression/pom.xml              |   2 +-
 integration-tests/consul/pom.xml                   |   2 +-
 integration-tests/controlbus/pom.xml               |   2 +-
 integration-tests/core/pom.xml                     |   2 +-
 integration-tests/couchdb/pom.xml                  |   2 +-
 integration-tests/csv/pom.xml                      |   2 +-
 integration-tests/dataformat/pom.xml               |   2 +-
 integration-tests/dataformats-json/pom.xml         |   2 +-
 integration-tests/debezium/pom.xml                 |   2 +-
 integration-tests/dozer/pom.xml                    |   2 +-
 integration-tests/elasticsearch-rest/pom.xml       |   2 +-
 integration-tests/exec/pom.xml                     |   2 +-
 integration-tests/fhir/pom.xml                     |   2 +-
 integration-tests/file/pom.xml                     |   2 +-
 integration-tests/flatpack/pom.xml                 |   2 +-
 integration-tests/ftp/pom.xml                      |   2 +-
 integration-tests/git/pom.xml                      |   2 +-
 integration-tests/github/pom.xml                   |   2 +-
 integration-tests/google/pom.xml                   |   2 +-
 integration-tests/graphql/pom.xml                  |   2 +-
 integration-tests/grok/pom.xml                     |   2 +-
 integration-tests/http/pom.xml                     |   2 +-
 integration-tests/hystrix/pom.xml                  |   2 +-
 integration-tests/infinispan/pom.xml               |   2 +-
 integration-tests/influxdb/pom.xml                 |   2 +-
 integration-tests/jaxb/pom.xml                     |   2 +-
 integration-tests/jdbc/pom.xml                     |   2 +-
 integration-tests/jira/pom.xml                     |   2 +-
 integration-tests/jolt/pom.xml                     |   2 +-
 integration-tests/jpa/pom.xml                      |   2 +-
 integration-tests/json-validator/pom.xml           |   2 +-
 integration-tests/jsonpath/pom.xml                 |   2 +-
 integration-tests/jta/pom.xml                      |   2 +-
 integration-tests/kafka/pom.xml                    |   2 +-
 integration-tests/kubernetes/pom.xml               |   2 +-
 integration-tests/kudu/pom.xml                     |   2 +-
 integration-tests/mail/pom.xml                     |   2 +-
 integration-tests/main-caffeine-lrucache/pom.xml   |   2 +-
 integration-tests/main-collector/pom.xml           |   2 +-
 integration-tests/main-command-mode/pom.xml        |   2 +-
 integration-tests/main-devmode/pom.xml             |   2 +-
 integration-tests/main-xml-io/pom.xml              |   2 +-
 integration-tests/main-xml-jaxb/pom.xml            |   2 +-
 integration-tests/main/pom.xml                     |   2 +-
 integration-tests/master/pom.xml                   |   2 +-
 integration-tests/messaging/pom.xml                |   2 +-
 integration-tests/microprofile/pom.xml             |   2 +-
 integration-tests/mock/pom.xml                     |   2 +-
 integration-tests/mongodb/pom.xml                  |   2 +-
 integration-tests/mustache/pom.xml                 |   2 +-
 integration-tests/netty/pom.xml                    |   2 +-
 integration-tests/olingo4/pom.xml                  |   2 +-
 integration-tests/openapi-java/pom.xml             |   2 +-
 integration-tests/opentracing/pom.xml              |   2 +-
 integration-tests/pdf/pom.xml                      |   2 +-
 integration-tests/platform-http-engine/pom.xml     |   2 +-
 integration-tests/platform-http/pom.xml            |   2 +-
 integration-tests/pom.xml                          |   6 --
 integration-tests/quartz/pom.xml                   |   2 +-
 integration-tests/qute/pom.xml                     |   2 +-
 integration-tests/rabbitmq/pom.xml                 |   2 +-
 integration-tests/reactive-streams/pom.xml         |   2 +-
 integration-tests/ref/pom.xml                      |   2 +-
 integration-tests/rest-binding-mode-xml/pom.xml    |   2 +-
 integration-tests/rest-openapi/pom.xml             |   2 +-
 integration-tests/rest/pom.xml                     |   2 +-
 integration-tests/salesforce/pom.xml               |   2 +-
 integration-tests/sap-netweaver/pom.xml            |   2 +-
 integration-tests/scheduler/pom.xml                |   2 +-
 integration-tests/seda/pom.xml                     |   2 +-
 integration-tests/send-dynamic-http/pom.xml        |   2 +-
 integration-tests/servicenow/pom.xml               |   2 +-
 integration-tests/servlet/pom.xml                  |   2 +-
 integration-tests/slack/pom.xml                    |   2 +-
 .../smallrye-reactive-messaging/pom.xml            |   2 +-
 integration-tests/soap/pom.xml                     |   2 +-
 integration-tests/sql/pom.xml                      |   2 +-
 integration-tests/stream/pom.xml                   |   2 +-
 integration-tests/tarfile/pom.xml                  |   2 +-
 integration-tests/telegram/pom.xml                 |   2 +-
 integration-tests/tika/pom.xml                     |   2 +-
 integration-tests/twitter/pom.xml                  |   2 +-
 integration-tests/validator/pom.xml                |   2 +-
 integration-tests/vertx/pom.xml                    |   2 +-
 integration-tests/websocket-jsr356/pom.xml         |   2 +-
 integration-tests/xml/pom.xml                      |   2 +-
 integration-tests/xstream/pom.xml                  |   2 +-
 poms/bom/pom.xml                                   |  10 --
 145 files changed, 127 insertions(+), 701 deletions(-)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index e35b2f7..4350bc9 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -226,7 +226,6 @@
             camel-quarkus-support-jetty
             camel-quarkus-support-mail
             camel-quarkus-support-mongodb
-            camel-quarkus-support-policy
             camel-quarkus-support-retrofit
             camel-quarkus-support-spring
             camel-quarkus-support-webhook
diff --git a/examples/file-split-log-xml/pom.xml b/examples/file-split-log-xml/pom.xml
index 32dfca8..1781bb2 100644
--- a/examples/file-split-log-xml/pom.xml
+++ b/examples/file-split-log-xml/pom.xml
@@ -42,7 +42,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-file-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-file-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/health/pom.xml b/examples/health/pom.xml
index bae3d08..ac5d704 100644
--- a/examples/health/pom.xml
+++ b/examples/health/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-netty-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-netty-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/http-log/pom.xml b/examples/http-log/pom.xml
index d5485a1..f43b620 100644
--- a/examples/http-log/pom.xml
+++ b/examples/http-log/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-microprofile-metrics-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-microprofile-metrics-deployment,camel-quarkus-platform-http-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/observability/pom.xml b/examples/observability/pom.xml
index 366bceb..5c37571 100644
--- a/examples/observability/pom.xml
+++ b/examples/observability/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-microprofile-metrics-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-opentracing-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-microprofile-metrics-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-opentracing-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/rest-json/pom.xml b/examples/rest-json/pom.xml
index f971f15..bf750ff 100644
--- a/examples/rest-json/pom.xml
+++ b/examples/rest-json/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-jackson-deployment,camel-quarkus-main-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-jackson-deployment,camel-quarkus-main-deployment,camel-quarkus-platform-http-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/timer-log-cdi/pom.xml b/examples/timer-log-cdi/pom.xml
index e5e9ff4..23d79c5 100644
--- a/examples/timer-log-cdi/pom.xml
+++ b/examples/timer-log-cdi/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/timer-log-kotlin/pom.xml b/examples/timer-log-kotlin/pom.xml
index c846bc7..0f8ff59 100644
--- a/examples/timer-log-kotlin/pom.xml
+++ b/examples/timer-log-kotlin/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-kotlin-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-kotlin-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/timer-log-main/pom.xml b/examples/timer-log-main/pom.xml
index 70d4687..08d7a19 100644
--- a/examples/timer-log-main/pom.xml
+++ b/examples/timer-log-main/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/timer-log-spring/pom.xml b/examples/timer-log-spring/pom.xml
index 70f3b77..d4b5082 100644
--- a/examples/timer-log-spring/pom.xml
+++ b/examples/timer-log-spring/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/timer-log-xml/pom.xml b/examples/timer-log-xml/pom.xml
index 06761fc..879ffcd 100644
--- a/examples/timer-log-xml/pom.xml
+++ b/examples/timer-log-xml/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/examples/timer-log/pom.xml b/examples/timer-log/pom.xml
index c4def8d..9160003 100644
--- a/examples/timer-log/pom.xml
+++ b/examples/timer-log/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/asterisk/integration-test/pom.xml b/extensions-jvm/asterisk/integration-test/pom.xml
index 2fc3f14..32d693c 100644
--- a/extensions-jvm/asterisk/integration-test/pom.xml
+++ b/extensions-jvm/asterisk/integration-test/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-asterisk-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-asterisk-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/extensions-jvm/avro-rpc/integration-test/pom.xml b/extensions-jvm/avro-rpc/integration-test/pom.xml
index ce62052..7cc6e46 100644
--- a/extensions-jvm/avro-rpc/integration-test/pom.xml
+++ b/extensions-jvm/avro-rpc/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-avro-rpc-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-avro-rpc-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/cassandraql/integration-test/pom.xml b/extensions-jvm/cassandraql/integration-test/pom.xml
index e474676..d1a0573 100644
--- a/extensions-jvm/cassandraql/integration-test/pom.xml
+++ b/extensions-jvm/cassandraql/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-cassandraql-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-cassandraql-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/couchbase/integration-test/pom.xml b/extensions-jvm/couchbase/integration-test/pom.xml
index 7e85621..10588a8 100644
--- a/extensions-jvm/couchbase/integration-test/pom.xml
+++ b/extensions-jvm/couchbase/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-couchbase-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-couchbase-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/debezium-mongodb/integration-test/pom.xml b/extensions-jvm/debezium-mongodb/integration-test/pom.xml
index 3d83e58..5fac6dd 100644
--- a/extensions-jvm/debezium-mongodb/integration-test/pom.xml
+++ b/extensions-jvm/debezium-mongodb/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-debezium-mongodb-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-debezium-mongodb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/google-bigquery/integration-test/pom.xml b/extensions-jvm/google-bigquery/integration-test/pom.xml
index 2c21af5..095a001 100644
--- a/extensions-jvm/google-bigquery/integration-test/pom.xml
+++ b/extensions-jvm/google-bigquery/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-google-bigquery-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-google-bigquery-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/google-pubsub/integration-test/pom.xml b/extensions-jvm/google-pubsub/integration-test/pom.xml
index 14d91b6..0d012d2 100644
--- a/extensions-jvm/google-pubsub/integration-test/pom.xml
+++ b/extensions-jvm/google-pubsub/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-google-pubsub-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-google-pubsub-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/groovy/integration-test/pom.xml b/extensions-jvm/groovy/integration-test/pom.xml
index 5a0f354..e560ec2 100644
--- a/extensions-jvm/groovy/integration-test/pom.xml
+++ b/extensions-jvm/groovy/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-groovy-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-groovy-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/grpc/integration-test/pom.xml b/extensions-jvm/grpc/integration-test/pom.xml
index 7c4c88b..0b6dd94 100644
--- a/extensions-jvm/grpc/integration-test/pom.xml
+++ b/extensions-jvm/grpc/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-grpc-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-grpc-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/nitrite/integration-test/pom.xml b/extensions-jvm/nitrite/integration-test/pom.xml
index 8dc4c99..6a0a3bf 100644
--- a/extensions-jvm/nitrite/integration-test/pom.xml
+++ b/extensions-jvm/nitrite/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-nitrite-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-nitrite-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/ognl/integration-test/pom.xml b/extensions-jvm/ognl/integration-test/pom.xml
index 22d08a4..46fac63 100644
--- a/extensions-jvm/ognl/integration-test/pom.xml
+++ b/extensions-jvm/ognl/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-ognl-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-ognl-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/openstack/integration-test/pom.xml b/extensions-jvm/openstack/integration-test/pom.xml
index 88529be..4d54ff6 100644
--- a/extensions-jvm/openstack/integration-test/pom.xml
+++ b/extensions-jvm/openstack/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-openstack-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-openstack-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/protobuf/integration-test/pom.xml b/extensions-jvm/protobuf/integration-test/pom.xml
index 8b3ee51..509a2a6 100644
--- a/extensions-jvm/protobuf/integration-test/pom.xml
+++ b/extensions-jvm/protobuf/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-protobuf-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-protobuf-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-jvm/pubnub/integration-test/pom.xml b/extensions-jvm/pubnub/integration-test/pom.xml
index 0ee9c16..babac9a 100644
--- a/extensions-jvm/pubnub/integration-test/pom.xml
+++ b/extensions-jvm/pubnub/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-pubnub-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-pubnub-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions-support/policy/deployment/pom.xml b/extensions-support/policy/deployment/pom.xml
deleted file mode 100644
index 30265aa..0000000
--- a/extensions-support/policy/deployment/pom.xml
+++ /dev/null
@@ -1,61 +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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-support-policy-parent</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-support-policy-deployment</artifactId>
-    <name>Camel Quarkus :: Support :: Policy :: Deployment</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-deployment</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-policy</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>io.quarkus</groupId>
-                            <artifactId>quarkus-extension-processor</artifactId>
-                            <version>${quarkus.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/extensions-support/policy/deployment/src/main/java/org/apache/camel/quarkus/component/support/policy/deployment/PolicyProcessor.java b/extensions-support/policy/deployment/src/main/java/org/apache/camel/quarkus/component/support/policy/deployment/PolicyProcessor.java
deleted file mode 100644
index 56bcd6e..0000000
--- a/extensions-support/policy/deployment/src/main/java/org/apache/camel/quarkus/component/support/policy/deployment/PolicyProcessor.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.quarkus.component.support.policy.deployment;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.GeneratedResourceBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
-import org.jboss.jandex.AnnotationTarget.Kind;
-import org.jboss.jandex.DotName;
-
-class PolicyProcessor {
-
-    private static final String FEATURE = "camel-policy";
-
-    @BuildStep
-    FeatureBuildItem feature() {
-        return new FeatureBuildItem(FEATURE);
-    }
-
-    @BuildStep
-    UnbannedReflectiveBuildItem unbanReflectives() {
-        /**
-         * A list of classes annotated with <code>@UriParams</code> which we accept to be registered for reflection
-         * mostly because there are errors when they are removed. TODO: solve the underlying problems and remove as
-         * many entries as possible from the list.
-         */
-        return new UnbannedReflectiveBuildItem(
-                "org.apache.camel.support.processor.DefaultExchangeFormatter",
-                "org.apache.camel.component.fhir.FhirUpdateEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirOperationEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirConfiguration",
-                "org.apache.camel.component.fhir.FhirLoadPageEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirSearchEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirTransactionEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirCreateEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirValidateEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirReadEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirCapabilitiesEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirHistoryEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirMetaEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirPatchEndpointConfiguration",
-                "org.apache.camel.component.fhir.FhirDeleteEndpointConfiguration");
-    }
-
-    /* Make the build fail as long as there are banned classes registered for reflection */
-    @BuildStep
-    void bannedReflectiveClasses(
-            CombinedIndexBuildItem combinedIndex,
-            List<ReflectiveClassBuildItem> reflectiveClasses,
-            List<UnbannedReflectiveBuildItem> unbannedReflectives,
-            BuildProducer<GeneratedResourceBuildItem> dummy // to force the execution of this method
-    ) {
-        final DotName uriParamsDotName = DotName.createSimple("org.apache.camel.spi.UriParams");
-
-        final Set<String> bannedClassNames = combinedIndex.getIndex()
-                .getAnnotations(uriParamsDotName)
-                .stream()
-                .filter(ai -> ai.target().kind() == Kind.CLASS)
-                .map(ai -> ai.target().asClass().name().toString())
-                .collect(Collectors.toSet());
-
-        final Set<String> unbannedClassNames = unbannedReflectives.stream()
-                .map(UnbannedReflectiveBuildItem::getClassNames)
-                .flatMap(Collection::stream)
-                .collect(Collectors.toSet());
-
-        Set<String> violations = reflectiveClasses.stream()
-                .map(ReflectiveClassBuildItem::getClassNames)
-                .flatMap(Collection::stream)
-                .filter(cl -> !unbannedClassNames.contains(cl))
-                .filter(bannedClassNames::contains)
-                .collect(Collectors.toSet());
-
-        if (!violations.isEmpty()) {
-            throw new IllegalStateException(
-                    "The following classes should either be whitelisted via an UnbannedReflectiveBuildItem or they should not be registered for reflection via ReflectiveClassBuildItem: "
-                            + violations);
-        }
-    }
-}
diff --git a/extensions-support/policy/pom.xml b/extensions-support/policy/pom.xml
deleted file mode 100644
index d794341..0000000
--- a/extensions-support/policy/pom.xml
+++ /dev/null
@@ -1,37 +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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-build-parent</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <relativePath>../../poms/build-parent/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-support-policy-parent</artifactId>
-    <name>Camel Quarkus :: Support :: Policy</name>
-    <packaging>pom</packaging>
-
-    <modules>
-        <module>deployment</module>
-        <module>runtime</module>
-    </modules>
-</project>
diff --git a/extensions-support/policy/runtime/pom.xml b/extensions-support/policy/runtime/pom.xml
deleted file mode 100644
index e7520f1..0000000
--- a/extensions-support/policy/runtime/pom.xml
+++ /dev/null
@@ -1,76 +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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-support-policy-parent</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-support-policy</artifactId>
-    <name>Camel Quarkus :: Support :: Policy :: Runtime</name>
-
-    <properties>
-        <firstVersion>1.0.0</firstVersion>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
-                <version>${project.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>io.quarkus</groupId>
-                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>io.quarkus</groupId>
-                            <artifactId>quarkus-extension-processor</artifactId>
-                            <version>${quarkus.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/extensions-support/policy/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-support/policy/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index 09d89fa..0000000
--- a/extensions-support/policy/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /dev/null
@@ -1,27 +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.
-#
-
----
-name: "Camel Quarkus Support Policy"
-description: "Camel Quarkus Support Policy"
-metadata:
-  unlisted: true
-  keywords:
-  - "camel"
-  guide: "https://quarkus.io/guides/camel"
-  categories:
-  - "integration"
diff --git a/extensions-support/pom.xml b/extensions-support/pom.xml
index 8fd3916..f3fa837 100644
--- a/extensions-support/pom.xml
+++ b/extensions-support/pom.xml
@@ -47,7 +47,6 @@
         <module>jetty</module>
         <module>mail</module>
         <module>mongodb</module>
-        <module>policy</module>
         <module>retrofit</module>
         <module>spring</module>
         <module>webhook</module>
diff --git a/extensions/aws2-ses/integration-test/pom.xml b/extensions/aws2-ses/integration-test/pom.xml
index 5f3320d..7c4eebb 100644
--- a/extensions/aws2-ses/integration-test/pom.xml
+++ b/extensions/aws2-ses/integration-test/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-aws2-ses-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-aws2-ses-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/extensions/box/deployment/src/main/java/org/apache/camel/quarkus/component/box/deployment/BoxProcessor.java b/extensions/box/deployment/src/main/java/org/apache/camel/quarkus/component/box/deployment/BoxProcessor.java
index dc7c3b1..eabdfb0 100644
--- a/extensions/box/deployment/src/main/java/org/apache/camel/quarkus/component/box/deployment/BoxProcessor.java
+++ b/extensions/box/deployment/src/main/java/org/apache/camel/quarkus/component/box/deployment/BoxProcessor.java
@@ -23,20 +23,7 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
 import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
-import org.apache.camel.component.box.BoxCollaborationsManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxCommentsManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxConfiguration;
-import org.apache.camel.component.box.BoxEventLogsManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxEventsManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxFilesManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxFoldersManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxGroupsManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxSearchManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxTasksManagerEndpointConfiguration;
-import org.apache.camel.component.box.BoxUsersManagerEndpointConfiguration;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
 
 class BoxProcessor {
 
@@ -63,37 +50,4 @@ class BoxProcessor {
         runtimeClasses.produce(new RuntimeInitializedClassBuildItem(BoxDeveloperEditionAPIConnection.class.getCanonicalName()));
         runtimeClasses.produce(new RuntimeInitializedClassBuildItem(BoxAPIRequest.class.getCanonicalName()));
     }
-
-    @BuildStep()
-    UnbannedReflectiveBuildItem boxEndpointConfigurations() {
-        return new UnbannedReflectiveBuildItem(
-                BoxCollaborationsManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxCommentsManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxEventLogsManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxEventsManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxFilesManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxFoldersManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxGroupsManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxSearchManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxTasksManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxUsersManagerEndpointConfiguration.class.getCanonicalName(),
-                BoxConfiguration.class.getCanonicalName());
-    }
-
-    @BuildStep()
-    ReflectiveClassBuildItem boxEndpointConfiguration() {
-        return new ReflectiveClassBuildItem(true, true,
-                BoxCollaborationsManagerEndpointConfiguration.class,
-                BoxCommentsManagerEndpointConfiguration.class,
-                BoxEventLogsManagerEndpointConfiguration.class,
-                BoxEventsManagerEndpointConfiguration.class,
-                BoxFilesManagerEndpointConfiguration.class,
-                BoxFoldersManagerEndpointConfiguration.class,
-                BoxGroupsManagerEndpointConfiguration.class,
-                BoxSearchManagerEndpointConfiguration.class,
-                BoxTasksManagerEndpointConfiguration.class,
-                BoxUsersManagerEndpointConfiguration.class,
-                BoxConfiguration.class);
-    }
-
 }
diff --git a/extensions/braintree/deployment/src/main/java/org/apache/camel/quarkus/component/braintree/deployment/BraintreeProcessor.java b/extensions/braintree/deployment/src/main/java/org/apache/camel/quarkus/component/braintree/deployment/BraintreeProcessor.java
index bf4573f..c38e85c 100644
--- a/extensions/braintree/deployment/src/main/java/org/apache/camel/quarkus/component/braintree/deployment/BraintreeProcessor.java
+++ b/extensions/braintree/deployment/src/main/java/org/apache/camel/quarkus/component/braintree/deployment/BraintreeProcessor.java
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.quarkus.component.braintree.deployment;
 
-import java.util.Collection;
-import java.util.stream.Collectors;
-
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
@@ -30,11 +27,6 @@ import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import org.apache.camel.component.braintree.BraintreeComponent;
 import org.apache.camel.quarkus.component.braintree.graal.BraintreeRecorder;
 import org.apache.camel.quarkus.core.deployment.spi.CamelBeanBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationTarget;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
 
 class BraintreeProcessor {
 
@@ -46,23 +38,7 @@ class BraintreeProcessor {
     }
 
     @BuildStep
-    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
-            BuildProducer<UnbannedReflectiveBuildItem> unbannedClass, CombinedIndexBuildItem combinedIndex) {
-        IndexView index = combinedIndex.getIndex();
-        Collection<AnnotationInstance> uriParams = index
-                .getAnnotations(DotName.createSimple("org.apache.camel.spi.UriParams"));
-
-        String[] braintreeConfigClasses = uriParams.stream()
-                .map(annotation -> annotation.target())
-                .filter(annotationTarget -> annotationTarget.kind().equals(AnnotationTarget.Kind.CLASS))
-                .map(annotationTarget -> annotationTarget.asClass().name().toString())
-                .filter(className -> className.startsWith("org.apache.camel.component.braintree"))
-                .collect(Collectors.toList())
-                .toArray(new String[0]);
-
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, braintreeConfigClasses));
-        unbannedClass.produce(new UnbannedReflectiveBuildItem(braintreeConfigClasses));
-
+    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass, CombinedIndexBuildItem combinedIndex) {
         reflectiveClass.produce(new ReflectiveClassBuildItem(true, false,
                 "com.braintreegateway.Address",
                 "com.braintreegateway.BraintreeGateway",
diff --git a/extensions/cron/deployment/src/main/java/org/apache/camel/quarkus/component/cron/deployment/CronProcessor.java b/extensions/cron/deployment/src/main/java/org/apache/camel/quarkus/component/cron/deployment/CronProcessor.java
index 63de0b9..9a3c2eb 100644
--- a/extensions/cron/deployment/src/main/java/org/apache/camel/quarkus/component/cron/deployment/CronProcessor.java
+++ b/extensions/cron/deployment/src/main/java/org/apache/camel/quarkus/component/cron/deployment/CronProcessor.java
@@ -18,11 +18,8 @@ package org.apache.camel.quarkus.component.cron.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.component.cron.api.CamelCronConfiguration;
 import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
 import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
 
 class CronProcessor {
 
@@ -34,16 +31,6 @@ class CronProcessor {
     }
 
     @BuildStep
-    UnbannedReflectiveBuildItem whitelistConfigurationClasses() {
-        return new UnbannedReflectiveBuildItem(CamelCronConfiguration.class.getName());
-    }
-
-    @BuildStep
-    ReflectiveClassBuildItem registerForReflection() {
-        return new ReflectiveClassBuildItem(true, false, CamelCronConfiguration.class);
-    }
-
-    @BuildStep
     CamelServicePatternBuildItem camelCronServicePattern() {
         return new CamelServicePatternBuildItem(CamelServiceDestination.DISCOVERY, true,
                 "META-INF/services/org/apache/camel/cron/*");
diff --git a/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java b/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java
index 70b976d..ab2f536 100644
--- a/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java
+++ b/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java
@@ -27,20 +27,6 @@ import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.component.fhir.FhirCapabilitiesEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirConfiguration;
-import org.apache.camel.component.fhir.FhirCreateEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirDeleteEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirHistoryEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirLoadPageEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirMetaEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirOperationEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirPatchEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirReadEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirSearchEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirTransactionEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirUpdateEndpointConfiguration;
-import org.apache.camel.component.fhir.FhirValidateEndpointConfiguration;
 import org.apache.camel.quarkus.component.fhir.FhirContextProducers;
 
 final class FhirProcessor {
@@ -57,25 +43,6 @@ final class FhirProcessor {
     }
 
     @BuildStep()
-    ReflectiveClassBuildItem fhirEndpointConfiguration() {
-        return new ReflectiveClassBuildItem(true, true,
-                FhirCreateEndpointConfiguration.class,
-                FhirCapabilitiesEndpointConfiguration.class,
-                FhirDeleteEndpointConfiguration.class,
-                FhirHistoryEndpointConfiguration.class,
-                FhirLoadPageEndpointConfiguration.class,
-                FhirMetaEndpointConfiguration.class,
-                FhirOperationEndpointConfiguration.class,
-                FhirPatchEndpointConfiguration.class,
-                FhirReadEndpointConfiguration.class,
-                FhirSearchEndpointConfiguration.class,
-                FhirTransactionEndpointConfiguration.class,
-                FhirUpdateEndpointConfiguration.class,
-                FhirValidateEndpointConfiguration.class,
-                FhirConfiguration.class);
-    }
-
-    @BuildStep()
     NativeImageResourceBundleBuildItem hapiMessages() {
         return new NativeImageResourceBundleBuildItem("ca.uhn.fhir.i18n.hapi-messages");
     }
diff --git a/extensions/google-calendar/deployment/src/main/java/org/apache/camel/quarkus/component/google/calendar/deployment/GoogleCalendarProcessor.java b/extensions/google-calendar/deployment/src/main/java/org/apache/camel/quarkus/component/google/calendar/deployment/GoogleCalendarProcessor.java
index 13bc4ef..68e82f8 100644
--- a/extensions/google-calendar/deployment/src/main/java/org/apache/camel/quarkus/component/google/calendar/deployment/GoogleCalendarProcessor.java
+++ b/extensions/google-calendar/deployment/src/main/java/org/apache/camel/quarkus/component/google/calendar/deployment/GoogleCalendarProcessor.java
@@ -16,19 +16,10 @@
  */
 package org.apache.camel.quarkus.component.google.calendar.deployment;
 
-import java.util.Collection;
-
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationTarget;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
 
 class GoogleCalendarProcessor {
 
@@ -43,25 +34,4 @@ class GoogleCalendarProcessor {
     void applicationArchiveMarkers(BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> applicationArchiveMarker) {
         applicationArchiveMarker.produce(new AdditionalApplicationArchiveMarkerBuildItem("com/google/api/services/calendar"));
     }
-
-    @BuildStep
-    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
-            BuildProducer<UnbannedReflectiveBuildItem> unbannedClass, CombinedIndexBuildItem combinedIndex) {
-        IndexView index = combinedIndex.getIndex();
-
-        // Google calendar component configuration class reflection
-        Collection<AnnotationInstance> uriParams = index
-                .getAnnotations(DotName.createSimple("org.apache.camel.spi.UriParams"));
-
-        String[] googleDriveConfigClasses = uriParams.stream()
-                .map(annotation -> annotation.target())
-                .filter(annotationTarget -> annotationTarget.kind().equals(AnnotationTarget.Kind.CLASS))
-                .map(annotationTarget -> annotationTarget.asClass().name().toString())
-                .filter(className -> className.startsWith("org.apache.camel.component.google.calendar"))
-                .toArray(String[]::new);
-
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, googleDriveConfigClasses));
-        unbannedClass.produce(new UnbannedReflectiveBuildItem(googleDriveConfigClasses));
-    }
-
 }
diff --git a/extensions/google-drive/deployment/src/main/java/org/apache/camel/quarkus/component/google/drive/deployment/GoogleDriveProcessor.java b/extensions/google-drive/deployment/src/main/java/org/apache/camel/quarkus/component/google/drive/deployment/GoogleDriveProcessor.java
index a93542c..34a41ad 100644
--- a/extensions/google-drive/deployment/src/main/java/org/apache/camel/quarkus/component/google/drive/deployment/GoogleDriveProcessor.java
+++ b/extensions/google-drive/deployment/src/main/java/org/apache/camel/quarkus/component/google/drive/deployment/GoogleDriveProcessor.java
@@ -16,19 +16,10 @@
  */
 package org.apache.camel.quarkus.component.google.drive.deployment;
 
-import java.util.Collection;
-
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationTarget;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
 
 class GoogleDriveProcessor {
 
@@ -43,24 +34,4 @@ class GoogleDriveProcessor {
     void applicationArchiveMarkers(BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> applicationArchiveMarker) {
         applicationArchiveMarker.produce(new AdditionalApplicationArchiveMarkerBuildItem("com/google/api/services/drive"));
     }
-
-    @BuildStep
-    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
-            BuildProducer<UnbannedReflectiveBuildItem> unbannedClass, CombinedIndexBuildItem combinedIndex) {
-        IndexView index = combinedIndex.getIndex();
-
-        // Google drive component configuration class reflection
-        Collection<AnnotationInstance> uriParams = index
-                .getAnnotations(DotName.createSimple("org.apache.camel.spi.UriParams"));
-
-        String[] googleDriveConfigClasses = uriParams.stream()
-                .map(annotation -> annotation.target())
-                .filter(annotationTarget -> annotationTarget.kind().equals(AnnotationTarget.Kind.CLASS))
-                .map(annotationTarget -> annotationTarget.asClass().name().toString())
-                .filter(className -> className.startsWith("org.apache.camel.component.google.drive"))
-                .toArray(String[]::new);
-
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, googleDriveConfigClasses));
-        unbannedClass.produce(new UnbannedReflectiveBuildItem(googleDriveConfigClasses));
-    }
 }
diff --git a/extensions/google-mail/deployment/src/main/java/org/apache/camel/quarkus/component/google/mail/deployment/GoogleMailProcessor.java b/extensions/google-mail/deployment/src/main/java/org/apache/camel/quarkus/component/google/mail/deployment/GoogleMailProcessor.java
index 3ed4562..702ea79 100644
--- a/extensions/google-mail/deployment/src/main/java/org/apache/camel/quarkus/component/google/mail/deployment/GoogleMailProcessor.java
+++ b/extensions/google-mail/deployment/src/main/java/org/apache/camel/quarkus/component/google/mail/deployment/GoogleMailProcessor.java
@@ -16,19 +16,10 @@
  */
 package org.apache.camel.quarkus.component.google.mail.deployment;
 
-import java.util.Collection;
-
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationTarget;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
 
 class GoogleMailProcessor {
 
@@ -43,24 +34,4 @@ class GoogleMailProcessor {
     void applicationArchiveMarkers(BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> applicationArchiveMarker) {
         applicationArchiveMarker.produce(new AdditionalApplicationArchiveMarkerBuildItem("com/google/api/services/gmail"));
     }
-
-    @BuildStep
-    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
-            BuildProducer<UnbannedReflectiveBuildItem> unbannedClass, CombinedIndexBuildItem combinedIndex) {
-        IndexView index = combinedIndex.getIndex();
-
-        // Google mail component configuration class reflection
-        Collection<AnnotationInstance> uriParams = index
-                .getAnnotations(DotName.createSimple("org.apache.camel.spi.UriParams"));
-
-        String[] googleMailConfigClasses = uriParams.stream()
-                .map(annotation -> annotation.target())
-                .filter(annotationTarget -> annotationTarget.kind().equals(AnnotationTarget.Kind.CLASS))
-                .map(annotationTarget -> annotationTarget.asClass().name().toString())
-                .filter(className -> className.startsWith("org.apache.camel.component.google.mail"))
-                .toArray(String[]::new);
-
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, googleMailConfigClasses));
-        unbannedClass.produce(new UnbannedReflectiveBuildItem(googleMailConfigClasses));
-    }
 }
diff --git a/extensions/google-sheets/deployment/src/main/java/org/apache/camel/quarkus/component/google/sheets/deployment/GoogleSheetsProcessor.java b/extensions/google-sheets/deployment/src/main/java/org/apache/camel/quarkus/component/google/sheets/deployment/GoogleSheetsProcessor.java
index f8104b8..c4919bc 100644
--- a/extensions/google-sheets/deployment/src/main/java/org/apache/camel/quarkus/component/google/sheets/deployment/GoogleSheetsProcessor.java
+++ b/extensions/google-sheets/deployment/src/main/java/org/apache/camel/quarkus/component/google/sheets/deployment/GoogleSheetsProcessor.java
@@ -16,19 +16,10 @@
  */
 package org.apache.camel.quarkus.component.google.sheets.deployment;
 
-import java.util.Collection;
-
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationTarget;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
 
 class GoogleSheetsProcessor {
 
@@ -43,24 +34,4 @@ class GoogleSheetsProcessor {
     void applicationArchiveMarkers(BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> applicationArchiveMarker) {
         applicationArchiveMarker.produce(new AdditionalApplicationArchiveMarkerBuildItem("com/google/api/services/sheets"));
     }
-
-    @BuildStep
-    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
-            BuildProducer<UnbannedReflectiveBuildItem> unbannedClass, CombinedIndexBuildItem combinedIndex) {
-        IndexView index = combinedIndex.getIndex();
-
-        // Google sheets component configuration class reflection
-        Collection<AnnotationInstance> uriParams = index
-                .getAnnotations(DotName.createSimple("org.apache.camel.spi.UriParams"));
-
-        String[] googleMailConfigClasses = uriParams.stream()
-                .map(annotation -> annotation.target())
-                .filter(annotationTarget -> annotationTarget.kind().equals(AnnotationTarget.Kind.CLASS))
-                .map(annotationTarget -> annotationTarget.asClass().name().toString())
-                .filter(className -> className.startsWith("org.apache.camel.component.google.sheets"))
-                .toArray(String[]::new);
-
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, googleMailConfigClasses));
-        unbannedClass.produce(new UnbannedReflectiveBuildItem(googleMailConfigClasses));
-    }
 }
diff --git a/extensions/log/deployment/src/main/java/org/apache/camel/quarkus/component/log/deployment/LogProcessor.java b/extensions/log/deployment/src/main/java/org/apache/camel/quarkus/component/log/deployment/LogProcessor.java
index 1e8da12..8378f5a 100644
--- a/extensions/log/deployment/src/main/java/org/apache/camel/quarkus/component/log/deployment/LogProcessor.java
+++ b/extensions/log/deployment/src/main/java/org/apache/camel/quarkus/component/log/deployment/LogProcessor.java
@@ -18,7 +18,6 @@ package org.apache.camel.quarkus.component.log.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 
 class LogProcessor {
 
@@ -28,13 +27,4 @@ class LogProcessor {
     FeatureBuildItem feature() {
         return new FeatureBuildItem(FEATURE);
     }
-
-    @BuildStep
-    ReflectiveClassBuildItem reflectiveClasses() {
-        return new ReflectiveClassBuildItem(
-                true,
-                false,
-                org.apache.camel.support.processor.DefaultExchangeFormatter.class);
-    }
-
 }
diff --git a/extensions/olingo4/deployment/src/main/java/org/apache/camel/quarkus/component/olingo4/deployment/Olingo4Processor.java b/extensions/olingo4/deployment/src/main/java/org/apache/camel/quarkus/component/olingo4/deployment/Olingo4Processor.java
index 7b1ed71..2b90eb4 100644
--- a/extensions/olingo4/deployment/src/main/java/org/apache/camel/quarkus/component/olingo4/deployment/Olingo4Processor.java
+++ b/extensions/olingo4/deployment/src/main/java/org/apache/camel/quarkus/component/olingo4/deployment/Olingo4Processor.java
@@ -23,8 +23,6 @@ import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.component.olingo4.Olingo4AppEndpointConfiguration;
-import org.apache.camel.quarkus.core.deployment.spi.UnbannedReflectiveBuildItem;
 import org.apache.olingo.server.core.ODataImpl;
 
 class Olingo4Processor {
@@ -37,12 +35,6 @@ class Olingo4Processor {
     }
 
     @BuildStep
-    UnbannedReflectiveBuildItem whitelistOlingo4AppEndpointConfiguration() {
-        // TODO: Remove this and the associated ReflectiveClassBuildItem for this class in Camel 3.1
-        return new UnbannedReflectiveBuildItem(Olingo4AppEndpointConfiguration.class.getName());
-    }
-
-    @BuildStep
     AdditionalApplicationArchiveMarkerBuildItem olingoArchiveMarker() {
         return new AdditionalApplicationArchiveMarkerBuildItem("org/apache/olingo");
     }
@@ -50,7 +42,6 @@ class Olingo4Processor {
     @BuildStep
     void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass, CombinedIndexBuildItem combinedIndex) {
         reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, ODataImpl.class));
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, Olingo4AppEndpointConfiguration.class));
     }
 
     @BuildStep
diff --git a/integration-tests/activemq/pom.xml b/integration-tests/activemq/pom.xml
index 9c62162..26877be 100644
--- a/integration-tests/activemq/pom.xml
+++ b/integration-tests/activemq/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-activemq-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-activemq-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/amqp/pom.xml b/integration-tests/amqp/pom.xml
index f981a4e..ba73082 100644
--- a/integration-tests/amqp/pom.xml
+++ b/integration-tests/amqp/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-amqp-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-amqp-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/arangodb/pom.xml b/integration-tests/arangodb/pom.xml
index 43c78bd..0eec4f5 100644
--- a/integration-tests/arangodb/pom.xml
+++ b/integration-tests/arangodb/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-arangodb-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-arangodb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/as2/pom.xml b/integration-tests/as2/pom.xml
index e1d0dad..16e4a81 100644
--- a/integration-tests/as2/pom.xml
+++ b/integration-tests/as2/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-as2-deployment,camel-quarkus-mock-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-as2-deployment,camel-quarkus-mock-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/avro/pom.xml b/integration-tests/avro/pom.xml
index cc48dd0..3b26c47 100644
--- a/integration-tests/avro/pom.xml
+++ b/integration-tests/avro/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-avro-deployment,camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-avro-deployment,camel-quarkus-direct-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/aws/pom.xml b/integration-tests/aws/pom.xml
index 2eb3f93..989d1a2 100644
--- a/integration-tests/aws/pom.xml
+++ b/integration-tests/aws/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-aws-ec2-deployment,camel-quarkus-aws-ecs-deployment,camel-quarkus-aws-eks-deployment,camel-quarkus-aws-iam-deployment,camel-quarkus-aws-kinesis-deployment,camel-quarkus-aws-kms-deployment,camel-quarkus-aws-lambda-deployment,camel-quarkus-aws-s3-deployment,camel-quarkus-aws-sdb-deployment,camel-quarkus-aws-sns-deployment,camel-quarkus-aws-sqs-deployment,camel-quarkus-aws-swf-deployment,camel-quarkus-aws-translate-deployment,camel-quarkus-log-deploy [...]
+        <mvnd.builder.rule>camel-quarkus-aws-ec2-deployment,camel-quarkus-aws-ecs-deployment,camel-quarkus-aws-eks-deployment,camel-quarkus-aws-iam-deployment,camel-quarkus-aws-kinesis-deployment,camel-quarkus-aws-kms-deployment,camel-quarkus-aws-lambda-deployment,camel-quarkus-aws-s3-deployment,camel-quarkus-aws-sdb-deployment,camel-quarkus-aws-sns-deployment,camel-quarkus-aws-sqs-deployment,camel-quarkus-aws-swf-deployment,camel-quarkus-aws-translate-deployment,camel-quarkus-log-deploy [...]
     </properties>
 
     <dependencies>
diff --git a/integration-tests/aws2/pom.xml b/integration-tests/aws2/pom.xml
index 3f6f7c9..319a3bf 100644
--- a/integration-tests/aws2/pom.xml
+++ b/integration-tests/aws2/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-aws2-athena-deployment,camel-quarkus-aws2-cw-deployment,camel-quarkus-aws2-ddb-deployment,camel-quarkus-aws2-ec2-deployment,camel-quarkus-aws2-ecs-deployment,camel-quarkus-aws2-eks-deployment,camel-quarkus-aws2-iam-deployment,camel-quarkus-aws2-kms-deployment,camel-quarkus-aws2-mq-deployment,camel-quarkus-aws2-msk-deployment,camel-quarkus-aws2-s3-deployment,camel-quarkus-aws2-sns-deployment,camel-quarkus-aws2-sqs-deployment,camel-quarkus-aws2-tran [...]
+        <mvnd.builder.rule>camel-quarkus-aws2-athena-deployment,camel-quarkus-aws2-cw-deployment,camel-quarkus-aws2-ddb-deployment,camel-quarkus-aws2-ec2-deployment,camel-quarkus-aws2-ecs-deployment,camel-quarkus-aws2-eks-deployment,camel-quarkus-aws2-iam-deployment,camel-quarkus-aws2-kms-deployment,camel-quarkus-aws2-mq-deployment,camel-quarkus-aws2-msk-deployment,camel-quarkus-aws2-s3-deployment,camel-quarkus-aws2-sns-deployment,camel-quarkus-aws2-sqs-deployment,camel-quarkus-aws2-tran [...]
     </properties>
 
     <dependencies>
diff --git a/integration-tests/azure/pom.xml b/integration-tests/azure/pom.xml
index bd69c25..8dd68f2 100644
--- a/integration-tests/azure/pom.xml
+++ b/integration-tests/azure/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-azure-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-azure-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/base64/pom.xml b/integration-tests/base64/pom.xml
index 202b12c..5eee56b 100644
--- a/integration-tests/base64/pom.xml
+++ b/integration-tests/base64/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-base64-deployment,camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-base64-deployment,camel-quarkus-direct-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/bean-validator/pom.xml b/integration-tests/bean-validator/pom.xml
index 7958e1a..9aa9d15 100644
--- a/integration-tests/bean-validator/pom.xml
+++ b/integration-tests/bean-validator/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bean-validator-deployment,camel-quarkus-direct-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bean-validator-deployment,camel-quarkus-direct-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/bean/pom.xml b/integration-tests/bean/pom.xml
index 9c3ac1c..e6b7ff5 100644
--- a/integration-tests/bean/pom.xml
+++ b/integration-tests/bean/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/bindy/pom.xml b/integration-tests/bindy/pom.xml
index 1ddf23b..37182a6 100644
--- a/integration-tests/bindy/pom.xml
+++ b/integration-tests/bindy/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bindy-deployment,camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bindy-deployment,camel-quarkus-direct-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/box/pom.xml b/integration-tests/box/pom.xml
index 62eb03c..66468d8 100644
--- a/integration-tests/box/pom.xml
+++ b/integration-tests/box/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-box-deployment,camel-quarkus-direct-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-box-deployment,camel-quarkus-direct-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/braintree/pom.xml b/integration-tests/braintree/pom.xml
index ee3d2ed..4fb10db 100644
--- a/integration-tests/braintree/pom.xml
+++ b/integration-tests/braintree/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-braintree-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-braintree-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/compression/pom.xml b/integration-tests/compression/pom.xml
index bd66c06..f0e8ab0 100644
--- a/integration-tests/compression/pom.xml
+++ b/integration-tests/compression/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-lzf-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-zip-deflater-deployment,camel-quarkus-zipfile-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-lzf-deployment,camel-quarkus-zip-deflater-deployment,camel-quarkus-zipfile-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/consul/pom.xml b/integration-tests/consul/pom.xml
index 55e0fe6..82f68fb 100644
--- a/integration-tests/consul/pom.xml
+++ b/integration-tests/consul/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-consul-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-consul-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/controlbus/pom.xml b/integration-tests/controlbus/pom.xml
index 61c9dc4..647b4fd 100644
--- a/integration-tests/controlbus/pom.xml
+++ b/integration-tests/controlbus/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-controlbus-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-controlbus-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/core/pom.xml b/integration-tests/core/pom.xml
index c9eca03..85ef4f3 100644
--- a/integration-tests/core/pom.xml
+++ b/integration-tests/core/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/couchdb/pom.xml b/integration-tests/couchdb/pom.xml
index 196e7ef..6f402ee 100644
--- a/integration-tests/couchdb/pom.xml
+++ b/integration-tests/couchdb/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-couchdb-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-couchdb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/csv/pom.xml b/integration-tests/csv/pom.xml
index 8c00113..03e348e 100644
--- a/integration-tests/csv/pom.xml
+++ b/integration-tests/csv/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-csv-deployment,camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-csv-deployment,camel-quarkus-direct-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/dataformat/pom.xml b/integration-tests/dataformat/pom.xml
index be70d41..a59f56a 100644
--- a/integration-tests/dataformat/pom.xml
+++ b/integration-tests/dataformat/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-ical-deployment,camel-quarkus-dataformat-deployment,camel-quarkus-direct-deployment,camel-quarkus-snakeyaml-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-ical-deployment,camel-quarkus-dataformat-deployment,camel-quarkus-direct-deployment,camel-quarkus-snakeyaml-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/dataformats-json/pom.xml b/integration-tests/dataformats-json/pom.xml
index 15b21d8..96dd78f 100644
--- a/integration-tests/dataformats-json/pom.xml
+++ b/integration-tests/dataformats-json/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-gson-deployment,camel-quarkus-jackson-deployment,camel-quarkus-jacksonxml-deployment,camel-quarkus-johnzon-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-vm-deployment,camel-quarkus-xml-io-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-gson-deployment,camel-quarkus-jackson-deployment,camel-quarkus-jacksonxml-deployment,camel-quarkus-johnzon-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-vm-deployment,camel-quarkus-xml-io-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/debezium/pom.xml b/integration-tests/debezium/pom.xml
index 9159989..23bd31b 100644
--- a/integration-tests/debezium/pom.xml
+++ b/integration-tests/debezium/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-debezium-postgres-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-debezium-postgres-deployment</mvnd.builder.rule>
         <!-- You need to download the driver yourself. We cannot add a compile scope dependency for legal reasons. -->
         <!-- See https://camel.apache.org/camel-quarkus/latest/extensions/debezium-mysql.html#_usage for more details -->
         <mysql.driver.file>libs/mysql-connector-java-8.0.20.jar</mysql.driver.file>
diff --git a/integration-tests/dozer/pom.xml b/integration-tests/dozer/pom.xml
index 10f6293..cf3fa0c 100644
--- a/integration-tests/dozer/pom.xml
+++ b/integration-tests/dozer/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-dozer-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-dozer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/elasticsearch-rest/pom.xml b/integration-tests/elasticsearch-rest/pom.xml
index 1fc8fd3..6cbf622 100644
--- a/integration-tests/elasticsearch-rest/pom.xml
+++ b/integration-tests/elasticsearch-rest/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-elasticsearch-rest-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-elasticsearch-rest-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/exec/pom.xml b/integration-tests/exec/pom.xml
index 4be20fe..b709004 100644
--- a/integration-tests/exec/pom.xml
+++ b/integration-tests/exec/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-exec-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-exec-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/fhir/pom.xml b/integration-tests/fhir/pom.xml
index 2fd6272..bafecc5 100644
--- a/integration-tests/fhir/pom.xml
+++ b/integration-tests/fhir/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-fhir-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-fhir-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/file/pom.xml b/integration-tests/file/pom.xml
index 8e7c8a7..70044f4 100644
--- a/integration-tests/file/pom.xml
+++ b/integration-tests/file/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-file-deployment,camel-quarkus-file-watch-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-file-deployment,camel-quarkus-file-watch-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/flatpack/pom.xml b/integration-tests/flatpack/pom.xml
index 271fd56..1012dda 100644
--- a/integration-tests/flatpack/pom.xml
+++ b/integration-tests/flatpack/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-flatpack-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-flatpack-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/ftp/pom.xml b/integration-tests/ftp/pom.xml
index 8b76941..9d3a7a1 100644
--- a/integration-tests/ftp/pom.xml
+++ b/integration-tests/ftp/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-ftp-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-ftp-deployment,camel-quarkus-log-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/git/pom.xml b/integration-tests/git/pom.xml
index 99486ca..bc26039 100644
--- a/integration-tests/git/pom.xml
+++ b/integration-tests/git/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-git-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-git-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/github/pom.xml b/integration-tests/github/pom.xml
index 53772b4..3c506b3 100644
--- a/integration-tests/github/pom.xml
+++ b/integration-tests/github/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-github-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-github-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/google/pom.xml b/integration-tests/google/pom.xml
index 9c968f3..a90e579 100644
--- a/integration-tests/google/pom.xml
+++ b/integration-tests/google/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-google-calendar-deployment,camel-quarkus-google-drive-deployment,camel-quarkus-google-mail-deployment,camel-quarkus-google-sheets-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-google-calendar-deployment,camel-quarkus-google-drive-deployment,camel-quarkus-google-mail-deployment,camel-quarkus-google-sheets-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/graphql/pom.xml b/integration-tests/graphql/pom.xml
index e7656d4..a80b41a 100644
--- a/integration-tests/graphql/pom.xml
+++ b/integration-tests/graphql/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-graphql-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-graphql-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/grok/pom.xml b/integration-tests/grok/pom.xml
index ec47b7a..42832aa 100644
--- a/integration-tests/grok/pom.xml
+++ b/integration-tests/grok/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-grok-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-grok-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/http/pom.xml b/integration-tests/http/pom.xml
index 362195d..067e429 100644
--- a/integration-tests/http/pom.xml
+++ b/integration-tests/http/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-ahc-deployment,camel-quarkus-ahc-ws-deployment,camel-quarkus-direct-deployment,camel-quarkus-http-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-ahc-deployment,camel-quarkus-ahc-ws-deployment,camel-quarkus-direct-deployment,camel-quarkus-http-deployment,camel-quarkus-netty-http-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/hystrix/pom.xml b/integration-tests/hystrix/pom.xml
index 2536721..3ee65f8 100644
--- a/integration-tests/hystrix/pom.xml
+++ b/integration-tests/hystrix/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-hystrix-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-hystrix-deployment,camel-quarkus-netty-http-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/infinispan/pom.xml b/integration-tests/infinispan/pom.xml
index 97bd7d1..70766c3 100644
--- a/integration-tests/infinispan/pom.xml
+++ b/integration-tests/infinispan/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-infinispan-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-infinispan-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/influxdb/pom.xml b/integration-tests/influxdb/pom.xml
index 53a78ef..e3b84d5 100644
--- a/integration-tests/influxdb/pom.xml
+++ b/integration-tests/influxdb/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-influxdb-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-influxdb-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/jaxb/pom.xml b/integration-tests/jaxb/pom.xml
index bec663f..6aa960d 100644
--- a/integration-tests/jaxb/pom.xml
+++ b/integration-tests/jaxb/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jaxb-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jaxb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/jdbc/pom.xml b/integration-tests/jdbc/pom.xml
index cac5de5..920b757 100644
--- a/integration-tests/jdbc/pom.xml
+++ b/integration-tests/jdbc/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jdbc-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jdbc-deployment,camel-quarkus-log-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/jira/pom.xml b/integration-tests/jira/pom.xml
index 5d18405..800f964 100644
--- a/integration-tests/jira/pom.xml
+++ b/integration-tests/jira/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-jira-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-jira-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/jolt/pom.xml b/integration-tests/jolt/pom.xml
index 569ce97..eabc232 100644
--- a/integration-tests/jolt/pom.xml
+++ b/integration-tests/jolt/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-jolt-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-jolt-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/jpa/pom.xml b/integration-tests/jpa/pom.xml
index c38796e..708f6dc 100644
--- a/integration-tests/jpa/pom.xml
+++ b/integration-tests/jpa/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-jpa-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-jpa-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/json-validator/pom.xml b/integration-tests/json-validator/pom.xml
index 7082fe6..da9b451 100644
--- a/integration-tests/json-validator/pom.xml
+++ b/integration-tests/json-validator/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-json-validator-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-json-validator-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/jsonpath/pom.xml b/integration-tests/jsonpath/pom.xml
index b22e3fc..5b0f65b 100644
--- a/integration-tests/jsonpath/pom.xml
+++ b/integration-tests/jsonpath/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-jsonpath-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-jsonpath-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/jta/pom.xml b/integration-tests/jta/pom.xml
index f7cd7a5..d3e93ce 100644
--- a/integration-tests/jta/pom.xml
+++ b/integration-tests/jta/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jta-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jta-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/kafka/pom.xml b/integration-tests/kafka/pom.xml
index afd9a56..5176b91 100644
--- a/integration-tests/kafka/pom.xml
+++ b/integration-tests/kafka/pom.xml
@@ -31,7 +31,7 @@
 
     <properties>
         <rerun.failing.test.count>2</rerun.failing.test.count>
-        <mvnd.builder.rule>camel-quarkus-kafka-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-kafka-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/kubernetes/pom.xml b/integration-tests/kubernetes/pom.xml
index 6e47632..11a7bee 100644
--- a/integration-tests/kubernetes/pom.xml
+++ b/integration-tests/kubernetes/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-kubernetes-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-kubernetes-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/kudu/pom.xml b/integration-tests/kudu/pom.xml
index eb0c50b..8979da5 100644
--- a/integration-tests/kudu/pom.xml
+++ b/integration-tests/kudu/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-kudu-deployment,camel-quarkus-support-commons-logging-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-bean-deployment,camel-quarkus-direct-deployment,camel-quarkus-kudu-deployment,camel-quarkus-support-commons-logging-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/mail/pom.xml b/integration-tests/mail/pom.xml
index 34bed18..9f83630 100644
--- a/integration-tests/mail/pom.xml
+++ b/integration-tests/mail/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-mail-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-mail-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/main-caffeine-lrucache/pom.xml b/integration-tests/main-caffeine-lrucache/pom.xml
index 212ceb7..bde8467 100644
--- a/integration-tests/main-caffeine-lrucache/pom.xml
+++ b/integration-tests/main-caffeine-lrucache/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-caffeine-lrucache-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-caffeine-lrucache-deployment,camel-quarkus-main-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/main-collector/pom.xml b/integration-tests/main-collector/pom.xml
index 08d79fb..9a599d7 100644
--- a/integration-tests/main-collector/pom.xml
+++ b/integration-tests/main-collector/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/main-command-mode/pom.xml b/integration-tests/main-command-mode/pom.xml
index 3e89c0c..329ecbb 100644
--- a/integration-tests/main-command-mode/pom.xml
+++ b/integration-tests/main-command-mode/pom.xml
@@ -35,7 +35,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
 
         <quarkus.runner.jar>${project.build.directory}/${project.artifactId}-${project.version}-runner.jar</quarkus.runner.jar>
     </properties>
diff --git a/integration-tests/main-devmode/pom.xml b/integration-tests/main-devmode/pom.xml
index ab7711a..a338be1 100644
--- a/integration-tests/main-devmode/pom.xml
+++ b/integration-tests/main-devmode/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/main-xml-io/pom.xml b/integration-tests/main-xml-io/pom.xml
index f458727..01c15c3 100644
--- a/integration-tests/main-xml-io/pom.xml
+++ b/integration-tests/main-xml-io/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/main-xml-jaxb/pom.xml b/integration-tests/main-xml-jaxb/pom.xml
index 0175cb9..69a7108 100644
--- a/integration-tests/main-xml-jaxb/pom.xml
+++ b/integration-tests/main-xml-jaxb/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-timer-deployment,camel-quarkus-xml-io-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/main/pom.xml b/integration-tests/main/pom.xml
index f16bc56..b6ac520 100644
--- a/integration-tests/main/pom.xml
+++ b/integration-tests/main/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-componentdsl-deployment,camel-quarkus-direct-deployment,camel-quarkus-endpointdsl-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-reactive-executor-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-threadpoolfactory-vertx-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-componentdsl-deployment,camel-quarkus-direct-deployment,camel-quarkus-endpointdsl-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-reactive-executor-deployment,camel-quarkus-threadpoolfactory-vertx-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/master/pom.xml b/integration-tests/master/pom.xml
index 0cd4168..80b4884 100644
--- a/integration-tests/master/pom.xml
+++ b/integration-tests/master/pom.xml
@@ -39,7 +39,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-file-deployment,camel-quarkus-log-deployment,camel-quarkus-master-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-file-deployment,camel-quarkus-log-deployment,camel-quarkus-master-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
 
         <quarkus.runner>${project.build.directory}/${project.artifactId}-${project.version}-runner.jar</quarkus.runner>
     </properties>
diff --git a/integration-tests/messaging/pom.xml b/integration-tests/messaging/pom.xml
index 71e441e..5bc3843 100644
--- a/integration-tests/messaging/pom.xml
+++ b/integration-tests/messaging/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-jms-deployment,camel-quarkus-main-deployment,camel-quarkus-paho-deployment,camel-quarkus-sjms-deployment,camel-quarkus-sjms2-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-jms-deployment,camel-quarkus-main-deployment,camel-quarkus-paho-deployment,camel-quarkus-sjms-deployment,camel-quarkus-sjms2-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/microprofile/pom.xml b/integration-tests/microprofile/pom.xml
index d33b85a..a2d5f9a 100644
--- a/integration-tests/microprofile/pom.xml
+++ b/integration-tests/microprofile/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-microprofile-fault-tolerance-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-microprofile-metrics-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-main-deployment,camel-quarkus-microprofile-fault-tolerance-deployment,camel-quarkus-microprofile-health-deployment,camel-quarkus-microprofile-metrics-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/mock/pom.xml b/integration-tests/mock/pom.xml
index 4e93639..9c5da69 100644
--- a/integration-tests/mock/pom.xml
+++ b/integration-tests/mock/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-mock-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-mock-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/mongodb/pom.xml b/integration-tests/mongodb/pom.xml
index 8c0d967..43a4a06 100644
--- a/integration-tests/mongodb/pom.xml
+++ b/integration-tests/mongodb/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-mongodb-deployment,camel-quarkus-mongodb-gridfs-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-mongodb-deployment,camel-quarkus-mongodb-gridfs-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/mustache/pom.xml b/integration-tests/mustache/pom.xml
index a892c3a..f88d0f7 100644
--- a/integration-tests/mustache/pom.xml
+++ b/integration-tests/mustache/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-mustache-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-mustache-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/netty/pom.xml b/integration-tests/netty/pom.xml
index f75ca29..594812c 100644
--- a/integration-tests/netty/pom.xml
+++ b/integration-tests/netty/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-netty-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-netty-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/olingo4/pom.xml b/integration-tests/olingo4/pom.xml
index 7f1aea0..a28ab71 100644
--- a/integration-tests/olingo4/pom.xml
+++ b/integration-tests/olingo4/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-olingo4-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-olingo4-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/openapi-java/pom.xml b/integration-tests/openapi-java/pom.xml
index d877458..340a290 100644
--- a/integration-tests/openapi-java/pom.xml
+++ b/integration-tests/openapi-java/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jackson-deployment,camel-quarkus-main-deployment,camel-quarkus-openapi-java-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-rest-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-jackson-deployment,camel-quarkus-main-deployment,camel-quarkus-openapi-java-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-rest-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/opentracing/pom.xml b/integration-tests/opentracing/pom.xml
index 21f0c31..68db157 100644
--- a/integration-tests/opentracing/pom.xml
+++ b/integration-tests/opentracing/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-opentracing-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-opentracing-deployment,camel-quarkus-platform-http-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/pdf/pom.xml b/integration-tests/pdf/pom.xml
index 2448e1f..6ce8ea7 100644
--- a/integration-tests/pdf/pom.xml
+++ b/integration-tests/pdf/pom.xml
@@ -34,7 +34,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-pdf-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-pdf-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/platform-http-engine/pom.xml b/integration-tests/platform-http-engine/pom.xml
index 4cc9547..9ac1668 100644
--- a/integration-tests/platform-http-engine/pom.xml
+++ b/integration-tests/platform-http-engine/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-platform-http-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-platform-http-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/platform-http/pom.xml b/integration-tests/platform-http/pom.xml
index af01233..d26b0b0 100644
--- a/integration-tests/platform-http/pom.xml
+++ b/integration-tests/platform-http/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-attachments-deployment,camel-quarkus-log-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-rest-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-support-webhook-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-attachments-deployment,camel-quarkus-log-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-rest-deployment,camel-quarkus-support-webhook-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index b235131..8f8642b 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -45,12 +45,6 @@
             </dependency>
         </dependencies>
     </dependencyManagement>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-policy</artifactId><!-- enforce the policy in all tests -->
-        </dependency>
-    </dependencies>
 
     <modules>
         <!-- build those first -->
diff --git a/integration-tests/quartz/pom.xml b/integration-tests/quartz/pom.xml
index 41a5b62..dfd31b1 100644
--- a/integration-tests/quartz/pom.xml
+++ b/integration-tests/quartz/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-cron-deployment,camel-quarkus-quartz-deployment,camel-quarkus-seda-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-cron-deployment,camel-quarkus-quartz-deployment,camel-quarkus-seda-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/qute/pom.xml b/integration-tests/qute/pom.xml
index ad38fa5..5cfb772 100644
--- a/integration-tests/qute/pom.xml
+++ b/integration-tests/qute/pom.xml
@@ -35,7 +35,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-qute-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-qute-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/rabbitmq/pom.xml b/integration-tests/rabbitmq/pom.xml
index 7eb79b8..6c9f79b 100644
--- a/integration-tests/rabbitmq/pom.xml
+++ b/integration-tests/rabbitmq/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-rabbitmq-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-rabbitmq-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/reactive-streams/pom.xml b/integration-tests/reactive-streams/pom.xml
index 7b8c76f..94cf4e3 100644
--- a/integration-tests/reactive-streams/pom.xml
+++ b/integration-tests/reactive-streams/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-main-deployment,camel-quarkus-reactive-streams-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-main-deployment,camel-quarkus-reactive-streams-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/ref/pom.xml b/integration-tests/ref/pom.xml
index 87b6220..94f04e6 100644
--- a/integration-tests/ref/pom.xml
+++ b/integration-tests/ref/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-ref-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-ref-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/rest-binding-mode-xml/pom.xml b/integration-tests/rest-binding-mode-xml/pom.xml
index 24ecf33..4aa8609 100644
--- a/integration-tests/rest-binding-mode-xml/pom.xml
+++ b/integration-tests/rest-binding-mode-xml/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-jaxb-deployment,camel-quarkus-rest-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-jaxb-deployment,camel-quarkus-rest-deployment,camel-quarkus-xml-jaxb-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/rest-openapi/pom.xml b/integration-tests/rest-openapi/pom.xml
index 7981287..52c946a 100644
--- a/integration-tests/rest-openapi/pom.xml
+++ b/integration-tests/rest-openapi/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-rest-openapi-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-rest-openapi-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/rest/pom.xml b/integration-tests/rest/pom.xml
index 15ed11b..c022381 100644
--- a/integration-tests/rest/pom.xml
+++ b/integration-tests/rest/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-rest-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-rest-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/salesforce/pom.xml b/integration-tests/salesforce/pom.xml
index 3d5997b..b041907 100644
--- a/integration-tests/salesforce/pom.xml
+++ b/integration-tests/salesforce/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-salesforce-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-salesforce-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/sap-netweaver/pom.xml b/integration-tests/sap-netweaver/pom.xml
index 5a4e05f..abda44f 100644
--- a/integration-tests/sap-netweaver/pom.xml
+++ b/integration-tests/sap-netweaver/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-http-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-sap-netweaver-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-http-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-sap-netweaver-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/scheduler/pom.xml b/integration-tests/scheduler/pom.xml
index 934ec77..71d484e 100644
--- a/integration-tests/scheduler/pom.xml
+++ b/integration-tests/scheduler/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-scheduler-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-scheduler-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/seda/pom.xml b/integration-tests/seda/pom.xml
index bf738bc..09100d8 100644
--- a/integration-tests/seda/pom.xml
+++ b/integration-tests/seda/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-seda-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-seda-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/send-dynamic-http/pom.xml b/integration-tests/send-dynamic-http/pom.xml
index c36a129..da62fae 100644
--- a/integration-tests/send-dynamic-http/pom.xml
+++ b/integration-tests/send-dynamic-http/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-endpointdsl-deployment,camel-quarkus-http-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-endpointdsl-deployment,camel-quarkus-http-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/servicenow/pom.xml b/integration-tests/servicenow/pom.xml
index d2082b9..aa43651 100644
--- a/integration-tests/servicenow/pom.xml
+++ b/integration-tests/servicenow/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-servicenow-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-servicenow-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/servlet/pom.xml b/integration-tests/servlet/pom.xml
index 8860797..4ee3648 100644
--- a/integration-tests/servlet/pom.xml
+++ b/integration-tests/servlet/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-core-cloud-deployment,camel-quarkus-rest-deployment,camel-quarkus-servlet-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-core-cloud-deployment,camel-quarkus-rest-deployment,camel-quarkus-servlet-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/slack/pom.xml b/integration-tests/slack/pom.xml
index 12e0f0d..5525950 100644
--- a/integration-tests/slack/pom.xml
+++ b/integration-tests/slack/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-rest-deployment,camel-quarkus-slack-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-netty-http-deployment,camel-quarkus-rest-deployment,camel-quarkus-slack-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/smallrye-reactive-messaging/pom.xml b/integration-tests/smallrye-reactive-messaging/pom.xml
index 766294f..edf1012 100644
--- a/integration-tests/smallrye-reactive-messaging/pom.xml
+++ b/integration-tests/smallrye-reactive-messaging/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-file-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-smallrye-reactive-messaging-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-file-deployment,camel-quarkus-smallrye-reactive-messaging-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/soap/pom.xml b/integration-tests/soap/pom.xml
index 9a41065..1d0a524 100644
--- a/integration-tests/soap/pom.xml
+++ b/integration-tests/soap/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-soap-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-soap-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/sql/pom.xml b/integration-tests/sql/pom.xml
index 2fc5e1b..56b140f 100644
--- a/integration-tests/sql/pom.xml
+++ b/integration-tests/sql/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-sql-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-sql-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/stream/pom.xml b/integration-tests/stream/pom.xml
index 0b93c40..3672a1f 100644
--- a/integration-tests/stream/pom.xml
+++ b/integration-tests/stream/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-stream-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-stream-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/tarfile/pom.xml b/integration-tests/tarfile/pom.xml
index 1bca8dd..83b87ff 100644
--- a/integration-tests/tarfile/pom.xml
+++ b/integration-tests/tarfile/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-tarfile-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-tarfile-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/telegram/pom.xml b/integration-tests/telegram/pom.xml
index 5394f6f..e83ef31 100644
--- a/integration-tests/telegram/pom.xml
+++ b/integration-tests/telegram/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-attachments-deployment,camel-quarkus-main-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-telegram-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-attachments-deployment,camel-quarkus-main-deployment,camel-quarkus-platform-http-deployment,camel-quarkus-telegram-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/tika/pom.xml b/integration-tests/tika/pom.xml
index 6dc8909..d0afa05 100644
--- a/integration-tests/tika/pom.xml
+++ b/integration-tests/tika/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-support-policy-deployment,camel-quarkus-tika-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-tika-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/twitter/pom.xml b/integration-tests/twitter/pom.xml
index f77cf00..f545b97 100644
--- a/integration-tests/twitter/pom.xml
+++ b/integration-tests/twitter/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-twitter-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-main-deployment,camel-quarkus-twitter-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/validator/pom.xml b/integration-tests/validator/pom.xml
index a8ea64f..e114f77 100644
--- a/integration-tests/validator/pom.xml
+++ b/integration-tests/validator/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-validator-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-validator-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/vertx/pom.xml b/integration-tests/vertx/pom.xml
index 975ee65..075e149 100644
--- a/integration-tests/vertx/pom.xml
+++ b/integration-tests/vertx/pom.xml
@@ -37,7 +37,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-vertx-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-vertx-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencyManagement>
diff --git a/integration-tests/websocket-jsr356/pom.xml b/integration-tests/websocket-jsr356/pom.xml
index 066036e..0d58fef 100644
--- a/integration-tests/websocket-jsr356/pom.xml
+++ b/integration-tests/websocket-jsr356/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-support-policy-deployment,camel-quarkus-websocket-jsr356-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-websocket-jsr356-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/xml/pom.xml b/integration-tests/xml/pom.xml
index 3afb007..bc84f68 100644
--- a/integration-tests/xml/pom.xml
+++ b/integration-tests/xml/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-tagsoup-deployment,camel-quarkus-xpath-deployment,camel-quarkus-xslt-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-tagsoup-deployment,camel-quarkus-xpath-deployment,camel-quarkus-xslt-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/integration-tests/xstream/pom.xml b/integration-tests/xstream/pom.xml
index 9bcdc91..3bb2c62 100644
--- a/integration-tests/xstream/pom.xml
+++ b/integration-tests/xstream/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update the rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-xml-jaxb-deployment,camel-quarkus-xstream-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-xml-jaxb-deployment,camel-quarkus-xstream-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 25483ea..1bd5f95 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -3203,16 +3203,6 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-support-policy</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-support-policy-deployment</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-support-retrofit</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>


[camel-quarkus] 01/06: Upgrade to Camel 3.5.0-SNAPSHOT

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 78b975c62f82d37e54e69d68516661dc56a9a731
Author: James Netherton <ja...@gmail.com>
AuthorDate: Thu Jun 18 16:30:49 2020 +0100

    Upgrade to Camel 3.5.0-SNAPSHOT
---
 docs/modules/ROOT/pages/reference/components.adoc  |  18 ++--
 .../ROOT/pages/reference/extensions/aws-s3.adoc    |   2 +-
 .../ROOT/pages/reference/extensions/aws2-s3.adoc   |   2 +-
 .../ROOT/pages/reference/extensions/azure.adoc     |   4 +-
 .../pages/reference/extensions/cassandraql.adoc    |   2 +-
 docs/modules/ROOT/pages/reference/index.adoc       |   8 +-
 .../org/apache/camel/quarkus/core/BaseModel.java   | 100 +++++++++++++++++++++
 .../core/DisabledXMLRoutesDefinitionLoader.java    |   5 ++
 .../camel/quarkus/core/FastCamelContext.java       |  45 ++++++++++
 .../quarkus/main/CamelMainRoutesCollector.java     |  26 ++++++
 extensions-jvm/cassandraql/runtime/pom.xml         |  16 ++++
 .../main/resources/META-INF/quarkus-extension.yaml |   2 +-
 .../deployment/DebeziumSupportProcessor.java       |  14 ++-
 .../main/resources/META-INF/quarkus-extension.yaml |   2 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   2 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   1 +
 .../component/pdf/deployment/PdfProcessor.java     |  28 +++++-
 .../runtime/support/CustomRoutesCollector.java     |   7 ++
 pom.xml                                            |  13 +--
 poms/bom/pom.xml                                   |  10 +++
 20 files changed, 273 insertions(+), 34 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/components.adoc b/docs/modules/ROOT/pages/reference/components.adoc
index 6f3d805..0b97018 100644
--- a/docs/modules/ROOT/pages/reference/components.adoc
+++ b/docs/modules/ROOT/pages/reference/components.adoc
@@ -83,10 +83,10 @@ Stable | 1.0.0 | Manage AWS IAM instances using AWS SDK version 2.x.
 Stable | 1.0.0 | Manage keys stored in AWS KMS instances using AWS SDK version 2.x.
 
 | xref:reference/extensions/aws2-kinesis.adoc[AWS 2 Kinesis] | [.camel-element-artifact]##camel-quarkus-aws2-kinesis## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Consume and produce records from AWS Kinesis Streams using AWS SDK version 2.x.
+Preview | 1.1.0 | Consume and produce records from and to AWS Kinesis Streams using AWS SDK version 2.x.
 
 | xref:reference/extensions/aws2-kinesis.adoc[AWS 2 Kinesis Firehose] | [.camel-element-artifact]##camel-quarkus-aws2-kinesis## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Consume data from AWS Kinesis Firehose streams using AWS SDK version 2.x.
+Preview | 1.1.0 | Produce data to AWS Kinesis Firehose streams using AWS SDK version 2.x.
 
 | xref:reference/extensions/aws2-lambda.adoc[AWS 2 Lambda] | [.camel-element-artifact]##camel-quarkus-aws2-lambda## | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Manage and invoke AWS Lambda functions using AWS SDK version 2.x.
@@ -98,7 +98,7 @@ Stable | 1.0.0 | Manage AWS MSK instances using AWS SDK version 2.x.
 Stable | 1.0.0 | Manage AWS MQ instances using AWS SDK version 2.x.
 
 | xref:reference/extensions/aws2-s3.adoc[AWS 2 S3 Storage Service] | [.camel-element-artifact]##camel-quarkus-aws2-s3## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrie objects from AWS S3 Storage Service using AWS SDK version 2.x.
+Stable | 1.0.0 | Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
 
 | xref:reference/extensions/aws2-ses.adoc[AWS 2 Simple Email Service (SES)] | [.camel-element-artifact]##camel-quarkus-aws2-ses## | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | Send e-mails through AWS SES service using AWS SDK version 2.x.
@@ -137,7 +137,7 @@ Stable | 1.0.0 | Consume data from AWS Kinesis Firehose streams.
 Stable | 1.0.0 | Manage and invoke AWS Lambda functions.
 
 | xref:reference/extensions/aws-s3.adoc[AWS S3 Storage Service] | [.camel-element-artifact]##camel-quarkus-aws-s3## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Store and retrie objects from AWS S3 Storage Service.
+Stable | 0.2.0 | Store and retrieve objects from AWS S3 Storage Service.
 
 | xref:reference/extensions/aws-sns.adoc[AWS Simple Notification System (SNS)] | [.camel-element-artifact]##camel-quarkus-aws-sns## | [.camel-element-Native]##Native## +
 Stable | 0.2.0 | Send messages to an AWS Simple Notification Topic.
@@ -157,14 +157,14 @@ Stable | 1.0.0 | Translate texts using AWS Translate.
 | xref:reference/extensions/azure-storage-blob.adoc[Azure Storage Blob Service] | [.camel-element-artifact]##camel-quarkus-azure-storage-blob## | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Store and retrieve blobs from Azure Storage Blob Service using SDK v12.
 
-| xref:reference/extensions/azure.adoc[Azure Storage Blob Service (Legacy)] | [.camel-element-artifact]##camel-quarkus-azure## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrieve blobs from Azure Storage Blob Service.
+| xref:reference/extensions/azure.adoc[Azure Storage Blob Service (Deprecated)] | [.camel-element-artifact]##camel-quarkus-azure## | [.camel-element-Native]##Native## +
+Stable | 1.0.0 | [.camel-element-deprecated]*deprecated* Store and retrieve blobs from Azure Storage Blob Service.
 
 | xref:reference/extensions/azure-storage-queue.adoc[Azure Storage Queue Service] | [.camel-element-artifact]##camel-quarkus-azure-storage-queue## | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12.
 
-| xref:reference/extensions/azure.adoc[Azure Storage Queue Service (Legacy)] | [.camel-element-artifact]##camel-quarkus-azure## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrieve messages from Azure Storage Queue Service.
+| xref:reference/extensions/azure.adoc[Azure Storage Queue Service (Deprecated)] | [.camel-element-artifact]##camel-quarkus-azure## | [.camel-element-Native]##Native## +
+Stable | 1.0.0 | [.camel-element-deprecated]*deprecated* Store and retrieve messages from Azure Storage Queue Service.
 
 | xref:reference/extensions/bean.adoc[Bean] | [.camel-element-artifact]##camel-quarkus-bean## | [.camel-element-Native]##Native## +
 Stable | 0.2.0 | Invoke methods of Java beans stored in Camel registry.
@@ -194,7 +194,7 @@ Preview | 1.1.0 | Perform caching operations using Caffeine Cache.
 Preview | 1.1.0 | Perform caching operations using Caffeine Cache with an attached CacheLoader.
 
 | xref:reference/extensions/cassandraql.adoc[Cassandra CQL] | [.camel-element-artifact]##camel-quarkus-cassandraql## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API).
+Preview | 1.0.0 | Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.
 
 | xref:reference/extensions/chatscript.adoc[ChatScript] | [.camel-element-artifact]##camel-quarkus-chatscript## | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Chat with a ChatScript Server.
diff --git a/docs/modules/ROOT/pages/reference/extensions/aws-s3.adoc b/docs/modules/ROOT/pages/reference/extensions/aws-s3.adoc
index 70e597c..1c65c20 100644
--- a/docs/modules/ROOT/pages/reference/extensions/aws-s3.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/aws-s3.adoc
@@ -8,7 +8,7 @@
 [.badges]
 [.badge-key]##Since Camel Quarkus##[.badge-version]##0.2.0## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-supported]##supported##
 
-Store and retrie objects from AWS S3 Storage Service.
+Store and retrieve objects from AWS S3 Storage Service.
 
 == What's inside
 
diff --git a/docs/modules/ROOT/pages/reference/extensions/aws2-s3.adoc b/docs/modules/ROOT/pages/reference/extensions/aws2-s3.adoc
index ee5d5bb..596ae49 100644
--- a/docs/modules/ROOT/pages/reference/extensions/aws2-s3.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/aws2-s3.adoc
@@ -8,7 +8,7 @@
 [.badges]
 [.badge-key]##Since Camel Quarkus##[.badge-version]##1.0.0## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-supported]##supported##
 
-Store and retrie objects from AWS S3 Storage Service using AWS SDK version 2.x.
+Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
 
 == What's inside
 
diff --git a/docs/modules/ROOT/pages/reference/extensions/azure.adoc b/docs/modules/ROOT/pages/reference/extensions/azure.adoc
index 6a86f80..fff8dd7 100644
--- a/docs/modules/ROOT/pages/reference/extensions/azure.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/azure.adoc
@@ -12,8 +12,8 @@ Store and retrieve blobs from Azure Storage Blob Service or store and retrieve m
 
 == What's inside
 
-* https://camel.apache.org/components/latest/azure-blob-component.html[Azure Storage Blob Service (Legacy) component], URI syntax: `azure-blob:containerOrBlobUri`
-* https://camel.apache.org/components/latest/azure-queue-component.html[Azure Storage Queue Service (Legacy) component], URI syntax: `azure-queue:containerAndQueueUri`
+* https://camel.apache.org/components/latest/azure-blob-component.html[Azure Storage Blob Service (Deprecated) component], URI syntax: `azure-blob:containerOrBlobUri`
+* https://camel.apache.org/components/latest/azure-queue-component.html[Azure Storage Queue Service (Deprecated) component], URI syntax: `azure-queue:containerAndQueueUri`
 
 Please refer to the above links for usage and configuration details.
 
diff --git a/docs/modules/ROOT/pages/reference/extensions/cassandraql.adoc b/docs/modules/ROOT/pages/reference/extensions/cassandraql.adoc
index ebc0f07..70508a1 100644
--- a/docs/modules/ROOT/pages/reference/extensions/cassandraql.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/cassandraql.adoc
@@ -8,7 +8,7 @@
 [.badges]
 [.badge-key]##Since Camel Quarkus##[.badge-version]##1.0.0## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-unsupported]##unsupported##
 
-Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API).
+Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.
 
 == What's inside
 
diff --git a/docs/modules/ROOT/pages/reference/index.adoc b/docs/modules/ROOT/pages/reference/index.adoc
index ea1b295..99a80b1 100644
--- a/docs/modules/ROOT/pages/reference/index.adoc
+++ b/docs/modules/ROOT/pages/reference/index.adoc
@@ -96,7 +96,7 @@ Stable | 1.0.0 | Manage AWS MSK instances using AWS SDK version 2.x.
 Stable | 1.0.0 | Manage AWS MQ instances using AWS SDK version 2.x.
 
 |  xref:reference/extensions/aws2-s3.adoc[AWS 2 S3 Storage Service]  | camel-quarkus-aws2-s3 | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrie objects from AWS S3 Storage Service using AWS SDK version 2.x.
+Stable | 1.0.0 | Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
 
 |  xref:reference/extensions/aws2-ses.adoc[AWS 2 Simple Email Service (SES)]  | camel-quarkus-aws2-ses | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | Send e-mails through AWS SES service using AWS SDK version 2.x.
@@ -132,7 +132,7 @@ Stable | 1.0.0 | Consume and produce records from AWS Kinesis Streams and AWS Ki
 Stable | 1.0.0 | Manage and invoke AWS Lambda functions.
 
 |  xref:reference/extensions/aws-s3.adoc[AWS S3 Storage Service]  | camel-quarkus-aws-s3 | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Store and retrie objects from AWS S3 Storage Service.
+Stable | 0.2.0 | Store and retrieve objects from AWS S3 Storage Service.
 
 |  xref:reference/extensions/aws-sns.adoc[AWS Simple Notification System (SNS)]  | camel-quarkus-aws-sns | [.camel-element-Native]##Native## +
 Stable | 0.2.0 | Send messages to an AWS Simple Notification Topic.
@@ -150,7 +150,7 @@ Stable | 1.0.0 | Store and Retrieve data from/to AWS SDB service.
 Stable | 1.0.0 | Translate texts using AWS Translate.
 
 |  xref:reference/extensions/azure.adoc[Azure]  | camel-quarkus-azure | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrieve blobs from Azure Storage Blob Service or store and retrieve messages from Azure Storage Queue Service
+Stable | 1.0.0 | [.camel-element-deprecated]*deprecated* Store and retrieve blobs from Azure Storage Blob Service or store and retrieve messages from Azure Storage Queue Service
 
 |  xref:reference/extensions/azure-storage-blob.adoc[Azure Storage Blob Service]  | camel-quarkus-azure-storage-blob | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Store and retrieve blobs from Azure Storage Blob Service using SDK v12.
@@ -192,7 +192,7 @@ Preview | 1.1.0 | Perform caching operations using Caffeine Cache.
 Stable | 1.0.0 | An LRUCacheFactory implementation based on Caffeine
 
 |  xref:reference/extensions/cassandraql.adoc[Cassandra CQL]  | camel-quarkus-cassandraql | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API).
+Preview | 1.0.0 | Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.
 
 |  xref:reference/extensions/chatscript.adoc[ChatScript]  | camel-quarkus-chatscript | [.camel-element-JVM]##JVM## +
 Preview | 1.1.0 | Chat with a ChatScript Server.
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java
index 9bd3b06..636f6cc 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java
@@ -27,12 +27,15 @@ import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.transformer.TransformerDefinition;
 import org.apache.camel.model.validator.ValidatorDefinition;
+import org.apache.camel.spi.NodeIdFactory;
+import org.apache.camel.util.CollectionStringBuffer;
 
 public abstract class BaseModel implements Model {
 
     private final CamelContext camelContext;
 
     private final List<RouteDefinition> routeDefinitions = new ArrayList<>();
+    private final List<RouteTemplateDefinition> routeTemplateDefinitions = new ArrayList<>();
     private final List<RestDefinition> restDefinitions = new ArrayList<>();
     private Map<String, DataFormatDefinition> dataFormats = new HashMap<>();
     private List<TransformerDefinition> transformers = new ArrayList<>();
@@ -42,6 +45,7 @@ public abstract class BaseModel implements Model {
     private Map<String, Resilience4jConfigurationDefinition> resilience4jConfigurations = new ConcurrentHashMap<>();
     private Map<String, FaultToleranceConfigurationDefinition> faultToleranceConfigurations = new ConcurrentHashMap<>();
     private Function<RouteDefinition, Boolean> routeFilter;
+    private final List<ModelLifecycleStrategy> modelLifecycleStrategies = new ArrayList<>();
 
     public BaseModel(CamelContext camelContext) {
         this.camelContext = camelContext;
@@ -111,6 +115,92 @@ public abstract class BaseModel implements Model {
     }
 
     @Override
+    public List<RouteTemplateDefinition> getRouteTemplateDefinitions() {
+        return routeTemplateDefinitions;
+    }
+
+    @Override
+    public RouteTemplateDefinition getRouteTemplateDefinition(String id) {
+        NodeIdFactory nodeIdFactory = camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory();
+        for (RouteTemplateDefinition route : routeTemplateDefinitions) {
+            if (route.idOrCreate(nodeIdFactory).equals(id)) {
+                return route;
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public void addRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception {
+        if (routeTemplateDefinitions == null || routeTemplateDefinitions.isEmpty()) {
+            return;
+        }
+        this.routeTemplateDefinitions.addAll(routeTemplateDefinitions);
+    }
+
+    @Override
+    public void addRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception {
+        this.routeTemplateDefinitions.add(routeTemplateDefinition);
+    }
+
+    @Override
+    public void removeRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception {
+        this.routeTemplateDefinitions.removeAll(routeTemplateDefinitions);
+    }
+
+    @Override
+    public void removeRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception {
+        routeTemplateDefinitions.remove(routeTemplateDefinition);
+    }
+
+    @Override
+    public String addRouteFromTemplate(String routeId, String routeTemplateId, Map<String, Object> parameters)
+            throws Exception {
+        RouteTemplateDefinition target = null;
+        for (RouteTemplateDefinition def : routeTemplateDefinitions) {
+            if (routeTemplateId.equals(def.getId())) {
+                target = def;
+                break;
+            }
+        }
+        if (target == null) {
+            throw new IllegalArgumentException("Cannot find RouteTemplate with id " + routeTemplateId);
+        }
+
+        CollectionStringBuffer cbs = new CollectionStringBuffer();
+        final Map<String, Object> prop = new HashMap();
+        // include default values first from the template (and validate that we have inputs for all required parameters)
+        if (target.getTemplateParameters() != null) {
+            for (RouteTemplateParameterDefinition temp : target.getTemplateParameters()) {
+                if (temp.getDefaultValue() != null) {
+                    prop.put(temp.getName(), temp.getDefaultValue());
+                } else {
+                    // this is a required parameter do we have that as input
+                    if (!parameters.containsKey(temp.getName())) {
+                        cbs.append(temp.getName());
+                    }
+                }
+            }
+        }
+        if (!cbs.isEmpty()) {
+            throw new IllegalArgumentException("Route template " + routeTemplateId
+                    + " the following mandatory parameters must be provided: " + cbs.toString());
+        }
+        // then override with user parameters
+        if (parameters != null) {
+            prop.putAll(parameters);
+        }
+
+        RouteDefinition def = target.asRouteDefinition();
+        if (routeId != null) {
+            def.setId(routeId);
+        }
+        def.setTemplateParameters(prop);
+        addRouteDefinition(def);
+        return def.getId();
+    }
+
+    @Override
     public synchronized List<RestDefinition> getRestDefinitions() {
         return restDefinitions;
     }
@@ -323,6 +413,16 @@ public abstract class BaseModel implements Model {
         this.routeFilter = routeFilter;
     }
 
+    @Override
+    public void addModelLifecycleStrategy(ModelLifecycleStrategy modelLifecycleStrategy) {
+        this.modelLifecycleStrategies.add(modelLifecycleStrategy);
+    }
+
+    @Override
+    public List<ModelLifecycleStrategy> getModelLifecycleStrategies() {
+        return modelLifecycleStrategies;
+    }
+
     /**
      * Should we start newly added routes?
      */
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java
index 904d50d..a50befb 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java
@@ -29,6 +29,11 @@ public class DisabledXMLRoutesDefinitionLoader implements XMLRoutesDefinitionLoa
     }
 
     @Override
+    public Object loadRouteTemplatesDefinition(CamelContext context, InputStream inputStream) throws Exception {
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-io");
+    }
+
+    @Override
     public Object loadRestsDefinition(CamelContext context, InputStream inputStream) throws Exception {
         throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-io");
     }
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
index 5066702..a41d181 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
@@ -87,6 +87,12 @@ public class FastCamelContext extends AbstractCamelContext implements CatalogCam
     }
 
     @Override
+    public String addRouteFromTemplate(String routeId, String routeTemplateId, Map<String, Object> parameters)
+            throws Exception {
+        return model.addRouteFromTemplate(routeId, routeTemplateId, parameters);
+    }
+
+    @Override
     protected Registry createRegistry() {
         throw new UnsupportedOperationException();
     }
@@ -512,6 +518,36 @@ public class FastCamelContext extends AbstractCamelContext implements CatalogCam
     }
 
     @Override
+    public List<RouteTemplateDefinition> getRouteTemplateDefinitions() {
+        return model.getRouteTemplateDefinitions();
+    }
+
+    @Override
+    public RouteTemplateDefinition getRouteTemplateDefinition(String id) {
+        return model.getRouteTemplateDefinition(id);
+    }
+
+    @Override
+    public void addRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception {
+        model.addRouteTemplateDefinitions(routeTemplateDefinitions);
+    }
+
+    @Override
+    public void addRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception {
+        model.addRouteTemplateDefinition(routeTemplateDefinition);
+    }
+
+    @Override
+    public void removeRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception {
+        model.removeRouteTemplateDefinitions(routeTemplateDefinitions);
+    }
+
+    @Override
+    public void removeRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception {
+        model.removeRouteTemplateDefinition(routeTemplateDefinition);
+    }
+
+    @Override
     public List<RestDefinition> getRestDefinitions() {
         return model.getRestDefinitions();
     }
@@ -736,4 +772,13 @@ public class FastCamelContext extends AbstractCamelContext implements CatalogCam
                 : new TransformerKey(new DataType(def.getFromType()), new DataType(def.getToType()));
     }
 
+    @Override
+    public void addModelLifecycleStrategy(ModelLifecycleStrategy modelLifecycleStrategy) {
+        model.addModelLifecycleStrategy(modelLifecycleStrategy);
+    }
+
+    @Override
+    public List<ModelLifecycleStrategy> getModelLifecycleStrategies() {
+        return model.getModelLifecycleStrategies();
+    }
 }
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java b/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java
index da9350b..9498cc1 100644
--- a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java
+++ b/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java
@@ -26,6 +26,7 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.main.RoutesCollector;
+import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.model.rest.RestsDefinition;
 import org.apache.camel.quarkus.core.RegistryRoutesLoader;
@@ -87,6 +88,31 @@ public class CamelMainRoutesCollector implements RoutesCollector {
     }
 
     @Override
+    public List<RouteTemplatesDefinition> collectXmlRouteTemplatesFromDirectory(CamelContext camelContext, String directory)
+            throws Exception {
+        List<RouteTemplatesDefinition> answer = new ArrayList<>();
+        PackageScanResourceResolver resolver = camelContext.adapt(ExtendedCamelContext.class).getPackageScanResourceResolver();
+
+        for (String part : directory.split(",")) {
+            LOGGER.info("Loading additional Camel XML route templates from: {}", part);
+            try {
+                for (InputStream is : resolver.findResources(part)) {
+                    Object definition = xmlRoutesLoader.loadRouteTemplatesDefinition(camelContext, is);
+                    if (definition instanceof RestsDefinition) {
+                        answer.add((RouteTemplatesDefinition) definition);
+                    }
+                }
+            } catch (FileNotFoundException e) {
+                LOGGER.debug("No XML route templates found in {}. Skipping XML route templates detection.", part);
+            } catch (Exception e) {
+                throw RuntimeCamelException.wrapRuntimeException(e);
+            }
+        }
+
+        return answer;
+    }
+
+    @Override
     public List<RestsDefinition> collectXmlRestsFromDirectory(CamelContext camelContext, String directory) {
         List<RestsDefinition> answer = new ArrayList<>();
         PackageScanResourceResolver resolver = camelContext.adapt(ExtendedCamelContext.class).getPackageScanResourceResolver();
diff --git a/extensions-jvm/cassandraql/runtime/pom.xml b/extensions-jvm/cassandraql/runtime/pom.xml
index 04cff31..86d66ef 100644
--- a/extensions-jvm/cassandraql/runtime/pom.xml
+++ b/extensions-jvm/cassandraql/runtime/pom.xml
@@ -58,8 +58,24 @@
                     <groupId>org.ow2.asm</groupId>
                     <artifactId>asm-util</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.codehaus.groovy</groupId>
+                    <artifactId>groovy</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.codehaus.groovy</groupId>
+                    <artifactId>groovy-json</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-json</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions-jvm/cassandraql/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-jvm/cassandraql/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index a0f9ec4..5f5467a 100644
--- a/extensions-jvm/cassandraql/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions-jvm/cassandraql/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -22,7 +22,7 @@
 #
 ---
 name: "Camel Cassandra CQL"
-description: "Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API)"
+description: "Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax"
 metadata:
   unlisted: true
   guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/cassandraql.html"
diff --git a/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java b/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java
index 7810d88..7fcda1a 100644
--- a/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java
+++ b/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java
@@ -21,6 +21,7 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import org.jboss.jandex.IndexView;
 
@@ -38,7 +39,7 @@ public class DebeziumSupportProcessor {
 
         String[] dtos = index.getKnownClasses().stream().map(ci -> ci.name().toString())
                 .filter(n -> n.startsWith("org.apache.kafka.connect.json")
-                        || n.startsWith("io.debezium.embedded.spi"))
+                        || n.startsWith("io.debezium.engine.spi"))
                 .sorted()
                 .toArray(String[]::new);
 
@@ -50,12 +51,19 @@ public class DebeziumSupportProcessor {
         return new ReflectiveClassBuildItem(false, false,
                 new String[] { "org.apache.kafka.connect.storage.FileOffsetBackingStore",
                         "org.apache.kafka.connect.storage.MemoryOffsetBackingStore",
-                        "io.debezium.relational.history.FileDatabaseHistory" });
+                        "io.debezium.relational.history.FileDatabaseHistory",
+                        "io.debezium.embedded.ConvertingEngineBuilderFactory" });
     }
 
     @BuildStep
     void addDependencies(BuildProducer<IndexDependencyBuildItem> indexDependency) {
         indexDependency.produce(new IndexDependencyBuildItem("org.apache.kafka", "connect-json"));
-        indexDependency.produce(new IndexDependencyBuildItem("io.debezium", "debezium-embedded"));
+        indexDependency.produce(new IndexDependencyBuildItem("io.debezium", "debezium-api"));
+    }
+
+    @BuildStep
+    void registerServiceProviders(BuildProducer<NativeImageResourceBuildItem> nativeImage) {
+        nativeImage.produce(
+                new NativeImageResourceBuildItem("META-INF/services/io.debezium.engine.DebeziumEngine$BuilderFactory"));
     }
 }
diff --git a/extensions/aws-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/aws-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index d9e3947..0f0a4a6 100644
--- a/extensions/aws-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions/aws-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -22,7 +22,7 @@
 #
 ---
 name: "Camel AWS S3 Storage Service"
-description: "Store and retrie objects from AWS S3 Storage Service"
+description: "Store and retrieve objects from AWS S3 Storage Service"
 metadata:
   keywords:
   - "Amazon"
diff --git a/extensions/aws2-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/aws2-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index ff8d18f..bfedec6 100644
--- a/extensions/aws2-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions/aws2-s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -22,7 +22,7 @@
 #
 ---
 name: "Camel AWS 2 S3 Storage Service"
-description: "Store and retrie objects from AWS S3 Storage Service using AWS SDK version 2.x"
+description: "Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x"
 metadata:
   keywords:
   - "Amazon"
diff --git a/extensions/azure/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/azure/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index 1f6ddde..38a099a 100644
--- a/extensions/azure/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions/azure/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -29,3 +29,4 @@ metadata:
   - "integration"
   status:
   - "stable"
+  - "deprecated"
\ No newline at end of file
diff --git a/extensions/pdf/deployment/src/main/java/org/apache/camel/quarkus/component/pdf/deployment/PdfProcessor.java b/extensions/pdf/deployment/src/main/java/org/apache/camel/quarkus/component/pdf/deployment/PdfProcessor.java
index 612e673..d6c3e90 100644
--- a/extensions/pdf/deployment/src/main/java/org/apache/camel/quarkus/component/pdf/deployment/PdfProcessor.java
+++ b/extensions/pdf/deployment/src/main/java/org/apache/camel/quarkus/component/pdf/deployment/PdfProcessor.java
@@ -26,10 +26,30 @@ class PdfProcessor {
 
     private static final String FEATURE = "camel-pdf";
 
-    private static final String[] RUNTIME_RESOURCES = new String[] { "org/apache/pdfbox/resources/version.properties",
-            "org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc",
+    private static final String[] RUNTIME_RESOURCES = new String[] {
+            "org/apache/pdfbox/resources/version.properties",
+            "org/apache/pdfbox/resources/afm/Courier.afm",
+            "org/apache/pdfbox/resources/afm/Courier-Bold.afm",
+            "org/apache/pdfbox/resources/afm/Courier-BoldOblique.afm",
+            "org/apache/pdfbox/resources/afm/Courier-Oblique.afm",
+            "org/apache/pdfbox/resources/afm/Helvetica.afm",
+            "org/apache/pdfbox/resources/afm/Helvetica-Bold.afm",
+            "org/apache/pdfbox/resources/afm/Helvetica-BoldOblique.afm",
+            "org/apache/pdfbox/resources/afm/Helvetica-Oblique.afm",
+            "org/apache/pdfbox/resources/afm/MustRead.html",
+            "org/apache/pdfbox/resources/afm/Symbol.afm",
+            "org/apache/pdfbox/resources/afm/Times-Bold.afm",
+            "org/apache/pdfbox/resources/afm/Times-BoldItalic.afm",
+            "org/apache/pdfbox/resources/afm/Times-Italic.afm",
+            "org/apache/pdfbox/resources/afm/Times-Roman.afm",
+            "org/apache/pdfbox/resources/afm/ZapfDingbats.afm",
             "org/apache/pdfbox/resources/glyphlist/additional.txt",
-            "org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf" };
+            "org/apache/pdfbox/resources/glyphlist/glyphlist.txt",
+            "org/apache/pdfbox/resources/glyphlist/zapfdingbats.txt",
+            "org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc",
+            "org/apache/pdfbox/resources/text/BidiMirroring.txt",
+            "org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf"
+    };
 
     private static final String[] RUNTIME_INITIALIZED_CLASSES = new String[] {
             "org.apache.pdfbox.pdmodel.font.PDType1Font",
@@ -43,7 +63,7 @@ class PdfProcessor {
     }
 
     @BuildStep
-    NativeImageResourceBuildItem initResources() {
+    NativeImageResourceBuildItem initResources(BuildProducer<NativeImageResourceBuildItem> nativeImageResource) {
         return new NativeImageResourceBuildItem(RUNTIME_RESOURCES);
     }
 
diff --git a/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java b/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java
index 84029bc..34f58be 100644
--- a/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java
+++ b/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java
@@ -22,6 +22,7 @@ import java.util.List;
 import org.apache.camel.CamelContext;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.main.RoutesCollector;
+import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.model.rest.RestsDefinition;
 
@@ -40,6 +41,12 @@ public class CustomRoutesCollector implements RoutesCollector {
     }
 
     @Override
+    public List<RouteTemplatesDefinition> collectXmlRouteTemplatesFromDirectory(CamelContext camelContext, String directory)
+            throws Exception {
+        return Collections.emptyList();
+    }
+
+    @Override
     public List<RestsDefinition> collectXmlRestsFromDirectory(CamelContext camelContext, String directory) throws Exception {
         return Collections.emptyList();
     }
diff --git a/pom.xml b/pom.xml
index 8fe0259..85dfa71 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,13 +41,14 @@
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
         <!-- Compile dependency versions (keep sorted alphabetically) -->
-        <ahc.version>2.10.4</ahc.version>
+        <ahc.version>2.12.1</ahc.version>
         <animal-sniffer.version>1.18</animal-sniffer.version>
         <awssdk1.version>1.11.714</awssdk1.version>
         <awssdk1-swf-libs.version>1.11.22</awssdk1-swf-libs.version>
-        <awssdk2.version>2.13.33</awssdk2.version>
-        <camel.version>3.4.3</camel.version>
-        <debezium.version>1.2.0.Final</debezium.version>
+        <awssdk2.version>2.14.3</awssdk2.version>
+        <camel.version>3.5.0-SNAPSHOT</camel.version>
+        <debezium.version>1.2.1.Final</debezium.version>
+        <elasticsearch.version>7.8.0</elasticsearch.version>
         <freemarker.version>2.3.30</freemarker.version>
         <github-api.version>1.111</github-api.version>
         <google-http-client.version>1.22.0</google-http-client.version>
@@ -74,7 +75,7 @@
         <smallrye.reactive.messaging.camel.version>2.2.1</smallrye.reactive.messaging.camel.version>
         <soap-api.version>1.4.0</soap-api.version><!-- keep in sync with Camel -->
         <!-- Keep spring.version aligned with the version used by Camel -->
-        <spring.version>5.2.7.RELEASE</spring.version>
+        <spring.version>5.2.8.RELEASE</spring.version>
         <snakeyaml.version>1.26</snakeyaml.version>
         <threetenbp.version>1.4.0</threetenbp.version>
         <xalan.version>2.7.2</xalan.version>
@@ -106,7 +107,7 @@
         <google-auth-library-credentials.version>0.19.0</google-auth-library-credentials.version>
         <google-auth-library-oauth2-http.version>0.19.0</google-auth-library-oauth2-http.version>
         <groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version>
-        <groovy.version>3.0.4</groovy.version>
+        <groovy.version>3.0.5</groovy.version>
         <jandex-maven-plugin.version>1.0.8</jandex-maven-plugin.version>
         <os-maven-plugin.version>1.6.2</os-maven-plugin.version>
         <properties-maven-plugin.version>1.0.0</properties-maven-plugin.version>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 39d9b17..69fad43 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -3583,6 +3583,16 @@
                 <version>${ahc.version}</version>
             </dependency>
             <dependency>
+                <groupId>org.codehaus.groovy</groupId>
+                <artifactId>groovy</artifactId>
+                <version>${groovy.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.groovy</groupId>
+                <artifactId>groovy-json</artifactId>
+                <version>${groovy.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>animal-sniffer-annotations</artifactId>
                 <version>${animal-sniffer.version}</version>


[camel-quarkus] 05/06: CAMEL-14297: Introduce RouteBuilderConfigurer.

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 33acdc8c44b246c01f632ef86a90bdc9ee3bd9a6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Aug 12 09:10:16 2020 +0200

    CAMEL-14297: Introduce RouteBuilderConfigurer.
---
 .../quarkus/core/deployment/CamelProcessor.java    |  3 +
 .../camel/quarkus/core/CamelContextRecorder.java   | 10 +++
 .../camel/quarkus/core/RegistryRoutesLoaders.java  | 13 ++++
 ...melMainRouteBuilderConfigurerDiscoveryTest.java | 74 ++++++++++++++++++++++
 .../apache/camel/quarkus/core/CoreResource.java    | 15 +++++
 .../org/apache/camel/quarkus/core/CoreRoutes.java  |  2 +-
 .../org/apache/camel/quarkus/core/CoreTest.java    |  6 ++
 7 files changed, 122 insertions(+), 1 deletion(-)

diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java
index 728812d..870fa8d 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java
@@ -79,6 +79,8 @@ class CamelProcessor {
             "org.apache.camel.RoutesBuilder");
     private static final DotName ROUTE_BUILDER_TYPE = DotName.createSimple(
             "org.apache.camel.builder.RouteBuilder");
+    private static final DotName ROUTE_BUILDER_CONFIGURER_TYPE = DotName.createSimple(
+            "org.apache.camel.builder.RouteBuilderConfigurer");
     private static final DotName ADVICE_WITH_ROUTE_BUILDER_TYPE = DotName.createSimple(
             "org.apache.camel.builder.AdviceWithRouteBuilder");
     private static final DotName DATA_FORMAT_TYPE = DotName.createSimple(
@@ -94,6 +96,7 @@ class CamelProcessor {
 
     private static final Set<DotName> UNREMOVABLE_BEANS_TYPES = CamelSupport.setOf(
             ROUTES_BUILDER_TYPE,
+            ROUTE_BUILDER_CONFIGURER_TYPE,
             DATA_FORMAT_TYPE,
             LANGUAGE_TYPE,
             COMPONENT_TYPE,
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java
index 17cb43b..9a555ba 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java
@@ -21,6 +21,8 @@ import io.quarkus.runtime.RuntimeValue;
 import io.quarkus.runtime.annotations.Recorder;
 import org.apache.camel.CamelContext;
 import org.apache.camel.RoutesBuilder;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.RouteBuilderConfigurer;
 import org.apache.camel.catalog.RuntimeCamelCatalog;
 import org.apache.camel.spi.FactoryFinderResolver;
 import org.apache.camel.spi.ModelJAXBContextFactory;
@@ -97,6 +99,14 @@ public class CamelContextRecorder {
 
     public void addRoutesFromContainer(RuntimeValue<CamelContext> context) {
         try {
+            for (RouteBuilderConfigurer builder : context.getValue().getRegistry().findByType(RouteBuilderConfigurer.class)) {
+                context.getValue().addRoutes(new RouteBuilder() {
+                    @Override
+                    public void configure() throws Exception {
+                        builder.accept(this);
+                    }
+                });
+            }
             for (RoutesBuilder builder : context.getValue().getRegistry().findByType(RoutesBuilder.class)) {
                 context.getValue().addRoutes(builder);
             }
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/RegistryRoutesLoaders.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/RegistryRoutesLoaders.java
index 2167689..2aa04f5 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/RegistryRoutesLoaders.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/RegistryRoutesLoaders.java
@@ -24,6 +24,8 @@ import java.util.Set;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.RoutesBuilder;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.RouteBuilderConfigurer;
 import org.apache.camel.util.AntPathMatcher;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -56,6 +58,17 @@ public final class RegistryRoutesLoaders {
             final List<RoutesBuilder> routes = new ArrayList<>();
             final AntPathMatcher matcher = new AntPathMatcher();
 
+            Set<RouteBuilderConfigurer> configurers = camelContext.getRegistry().findByType(RouteBuilderConfigurer.class);
+            for (RouteBuilderConfigurer configurer : configurers) {
+                RouteBuilder rb = new RouteBuilder() {
+                    @Override
+                    public void configure() throws Exception {
+                        configurer.accept(this);
+                    }
+                };
+                routes.add(rb);
+            }
+
             Set<RoutesBuilder> builders = camelContext.getRegistry().findByType(RoutesBuilder.class);
             for (RoutesBuilder routesBuilder : builders) {
                 // filter out abstract classes
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRouteBuilderConfigurerDiscoveryTest.java b/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRouteBuilderConfigurerDiscoveryTest.java
new file mode 100644
index 0000000..bbf9f3f
--- /dev/null
+++ b/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRouteBuilderConfigurerDiscoveryTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.quarkus.main.deployment;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Properties;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+
+import io.quarkus.test.QuarkusUnitTest;
+import org.apache.camel.builder.RouteBuilderConfigurer;
+import org.apache.camel.quarkus.main.CamelMain;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.Asset;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class CamelMainRouteBuilderConfigurerDiscoveryTest {
+    @RegisterExtension
+    static final QuarkusUnitTest CONFIG = new QuarkusUnitTest()
+            .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)
+                    .addAsResource(applicationProperties(), "application.properties"));
+
+    @Inject
+    CamelMain main;
+
+    public static Asset applicationProperties() {
+        Writer writer = new StringWriter();
+
+        Properties props = new Properties();
+        props.setProperty("quarkus.banner.enabled", "false");
+
+        try {
+            props.store(writer, "");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+
+        return new StringAsset(writer.toString());
+    }
+
+    @Test
+    public void testRoutesDiscovery() {
+        assertThat(main.getCamelContext().getRoutes()).isNotEmpty();
+        assertThat(main.configure().getRoutesBuilders()).isNotEmpty();
+    }
+
+    @Produces
+    public RouteBuilderConfigurer myRoute() {
+        return rb -> rb.from("direct:in").routeId("my-route").to("log:out");
+    }
+
+}
diff --git a/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreResource.java b/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreResource.java
index 21e5e80..af45a13 100644
--- a/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreResource.java
+++ b/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreResource.java
@@ -39,6 +39,8 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.NoSuchLanguageException;
+import org.apache.camel.Route;
+import org.apache.camel.builder.RouteBuilderConfigurer;
 import org.apache.camel.catalog.RuntimeCamelCatalog;
 import org.apache.camel.component.log.LogComponent;
 import org.apache.camel.model.ModelCamelContext;
@@ -70,6 +72,19 @@ public class CoreResource {
         return result;
     }
 
+    @javax.enterprise.inject.Produces
+    public RouteBuilderConfigurer myOtherRoute() {
+        return rb -> rb.from("timer:bar").routeId("bar").to("log:bar");
+    }
+
+    @Path("/routes/lookup-routes")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public String lookupRoutes() {
+        // there should be 2 routes, the one with RouteBuilderConfigurer method above and from CoreRoutes.java
+        return context.getRoutes().stream().map(Route::getId).sorted().collect(Collectors.joining(","));
+    }
+
     @Path("/registry/lookup-registry")
     @GET
     @Produces(MediaType.TEXT_PLAIN)
diff --git a/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreRoutes.java b/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreRoutes.java
index e3bb7e3..4aa1678 100644
--- a/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreRoutes.java
+++ b/integration-tests/core/src/main/java/org/apache/camel/quarkus/core/CoreRoutes.java
@@ -23,7 +23,7 @@ public class CoreRoutes extends RouteBuilder {
     @Override
     public void configure() {
         from("timer:keep-alive")
-                .id("timer")
+                .routeId("timer")
                 .setBody().constant("I'm alive !")
                 .to("log:keep-alive");
 
diff --git a/integration-tests/core/src/test/java/org/apache/camel/quarkus/core/CoreTest.java b/integration-tests/core/src/test/java/org/apache/camel/quarkus/core/CoreTest.java
index 42db9c8..f45b7f0 100644
--- a/integration-tests/core/src/test/java/org/apache/camel/quarkus/core/CoreTest.java
+++ b/integration-tests/core/src/test/java/org/apache/camel/quarkus/core/CoreTest.java
@@ -33,6 +33,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @QuarkusTest
 public class CoreTest {
+
     @Test
     public void testContainerLookupFromRegistry() {
         RestAssured.when().get("/test/registry/lookup-registry").then().body(is("true"));
@@ -40,6 +41,11 @@ public class CoreTest {
     }
 
     @Test
+    public void testLookupRoutes() {
+        RestAssured.when().get("/test/routes/lookup-routes").then().body(is("bar,timer"));
+    }
+
+    @Test
     public void testCamelContextAwareRegistryBeansInitialized() {
         RestAssured.when().get("/test/registry/camel-context-aware/initialized").then().body(is("true"));
     }