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/24 13:45:27 UTC

[camel-quarkus] branch camel-master updated (9c50ff5 -> 96777a7)

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.


    omit 9c50ff5  arangodb - correct integrations tests due to changes in component
    omit e2419a0  Add Camel AS2 Modules as Quarkus Extension #1471
    omit 3bff2fd  Remove remaining camel UriParams reflective class registrations
    omit cdcd73f  Temporary workaround for CAMEL-15426
    omit 5056b2d  Add ArangoDB component extension #1533
    omit 6f8a4b6  Extension for camel-threadpoolfactory-vertx #1430
    omit c9f7b3c  Fixed setter and getter for RouteTemplateDefinition + small optimization
    omit fe6ef98  Upgrade to Camel 3.5.0-SNAPSHOT
     add fb2ea42  APNS JVM support
     add ea3e610  Asterisk JVM support
     add a6fbe32  Atom JVM support
     add 7c49a8a  Atmos JVM support
     add b3ffe82  Fix itest when Twitter acount have spaces in name
     add 3ba6b43  Build quarkus instead of relying on oss-snapshots
     new 517d16d  Upgrade to Camel 3.5.0-SNAPSHOT
     new d5e74b1  Extension for camel-threadpoolfactory-vertx #1430
     new a28d2f6  Add ArangoDB component extension #1533
     new 076a2c3  Remove remaining camel UriParams reflective class registrations
     new 96777a7  Add Camel AS2 Modules as Quarkus Extension #1471

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   (9c50ff5)
            \
             N -- N -- N   refs/heads/camel-master (96777a7)

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 5 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:
 Jenkinsfile                                        |  6 ++
 catalog/pom.xml                                    |  4 ++
 docs/modules/ROOT/nav.adoc                         |  4 ++
 docs/modules/ROOT/pages/reference/components.adoc  | 14 +++-
 .../extensions/{groovy.adoc => apns.adoc}          | 14 ++--
 .../extensions/{xml-jaxp.adoc => asterisk.adoc}    | 14 ++--
 .../extensions/{arangodb.adoc => atmos.adoc}       | 14 ++--
 .../extensions/{groovy.adoc => atom.adoc}          | 14 ++--
 docs/modules/ROOT/pages/reference/index.adoc       | 14 +++-
 .../quarkus/core/deployment/CamelProcessor.java    | 15 ++---
 .../apns}/deployment/pom.xml                       |  8 +--
 .../component/apns/deployment/ApnsProcessor.java}  |  8 +--
 .../{ognl => apns}/integration-test/pom.xml        | 26 ++++++--
 .../quarkus/component/apns/it/ApnsResource.java}   | 20 +++---
 .../camel/quarkus/component/apns/it/ApnsTest.java} |  8 +--
 .../apns}/pom.xml                                  |  5 +-
 .../apns}/runtime/pom.xml                          | 10 +--
 .../main/resources/META-INF/quarkus-extension.yaml |  6 +-
 .../asterisk}/deployment/pom.xml                   |  8 +--
 .../asterisk/deployment/AsteriskProcessor.java}    |  8 +--
 .../integration-test/pom.xml                       | 26 ++++++--
 .../component/asterisk/it/AsteriskResource.java}   | 20 +++---
 .../component/asterisk/it/AsteriskTest.java}       |  8 +--
 .../asterisk}/pom.xml                              |  5 +-
 .../asterisk}/runtime/pom.xml                      | 10 +--
 .../main/resources/META-INF/quarkus-extension.yaml |  6 +-
 .../atmos}/deployment/pom.xml                      |  8 +--
 .../atmos/deployment/AtmosProcessor.java}          |  9 ++-
 .../integration-test/pom.xml                       | 26 ++++++--
 .../quarkus/component/atmos/it/AtmosResource.java} | 20 +++---
 .../quarkus/component/atmos/it/AtmosTest.java}     |  8 +--
 .../atmos}/pom.xml                                 |  5 +-
 .../git => extensions-jvm/atmos}/runtime/pom.xml   | 17 ++---
 .../main/resources/META-INF/quarkus-extension.yaml |  6 +-
 .../as2 => extensions-jvm/atom}/deployment/pom.xml | 10 +--
 .../component/atom/deployment/AtomProcessor.java}  |  8 +--
 .../{ognl => atom}/integration-test/pom.xml        | 26 ++++++--
 .../quarkus/component/atom/it/AtomResource.java}   | 20 +++---
 .../camel/quarkus/component/atom/it/AtomTest.java} |  8 +--
 .../atom}/pom.xml                                  |  5 +-
 .../git => extensions-jvm/atom}/runtime/pom.xml    | 14 ++--
 .../main/resources/META-INF/quarkus-extension.yaml |  6 +-
 extensions-jvm/pom.xml                             |  4 ++
 .../component/pdf/deployment/PdfProcessor.java     | 28 ++++++--
 .../quarkus/component/twitter/CamelResource.java   |  5 +-
 pom.xml                                            |  7 +-
 poms/bom/pom.xml                                   | 77 ++++++++++++++++++++++
 47 files changed, 406 insertions(+), 206 deletions(-)
 copy docs/modules/ROOT/pages/reference/extensions/{groovy.adoc => apns.adoc} (63%)
 copy docs/modules/ROOT/pages/reference/extensions/{xml-jaxp.adoc => asterisk.adoc} (63%)
 copy docs/modules/ROOT/pages/reference/extensions/{arangodb.adoc => atmos.adoc} (62%)
 copy docs/modules/ROOT/pages/reference/extensions/{groovy.adoc => atom.adoc} (65%)
 copy {extensions/grok => extensions-jvm/apns}/deployment/pom.xml (90%)
 copy extensions-jvm/{grpc/deployment/src/main/java/org/apache/camel/quarkus/component/grpc/deployment/GrpcProcessor.java => apns/deployment/src/main/java/org/apache/camel/quarkus/component/apns/deployment/ApnsProcessor.java} (89%)
 copy extensions-jvm/{ognl => apns}/integration-test/pom.xml (74%)
 copy extensions-jvm/{avro-rpc/integration-test/src/main/java/org/apache/camel/quarkus/component/avro/it/AvroResource.java => apns/integration-test/src/main/java/org/apache/camel/quarkus/component/apns/it/ApnsResource.java} (75%)
 copy extensions-jvm/{ognl/integration-test/src/test/java/org/apache/camel/quarkus/component/ognl/it/OgnlTest.java => apns/integration-test/src/test/java/org/apache/camel/quarkus/component/apns/it/ApnsTest.java} (86%)
 copy {extensions-core/threadpoolfactory-vertx => extensions-jvm/apns}/pom.xml (91%)
 copy {extensions/arangodb => extensions-jvm/apns}/runtime/pom.xml (91%)
 copy extensions-jvm/{openstack => apns}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (91%)
 copy {extensions/arangodb => extensions-jvm/asterisk}/deployment/pom.xml (90%)
 copy extensions-jvm/{protobuf/deployment/src/main/java/org/apache/camel/quarkus/component/protobuf/deployment/ProtobufProcessor.java => asterisk/deployment/src/main/java/org/apache/camel/quarkus/component/asterisk/deployment/AsteriskProcessor.java} (88%)
 copy extensions-jvm/{rabbitmq => asterisk}/integration-test/pom.xml (74%)
 copy extensions-jvm/{rabbitmq/integration-test/src/main/java/org/apache/camel/quarkus/component/rabbitmq/it/RabbitmqResource.java => asterisk/integration-test/src/main/java/org/apache/camel/quarkus/component/asterisk/it/AsteriskResource.java} (74%)
 copy extensions-jvm/{avro-rpc/integration-test/src/test/java/org/apache/camel/quarkus/component/avro/it/AvroTest.java => asterisk/integration-test/src/test/java/org/apache/camel/quarkus/component/asterisk/it/AsteriskTest.java} (85%)
 copy {extensions-core/threadpoolfactory-vertx => extensions-jvm/asterisk}/pom.xml (91%)
 copy {extensions/arangodb => extensions-jvm/asterisk}/runtime/pom.xml (91%)
 copy extensions-jvm/{openstack => asterisk}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (91%)
 copy {extensions/grok => extensions-jvm/atmos}/deployment/pom.xml (90%)
 copy extensions-jvm/{ognl/deployment/src/main/java/org/apache/camel/quarkus/component/ognl/deployment/OgnlProcessor.java => atmos/deployment/src/main/java/org/apache/camel/quarkus/component/atmos/deployment/AtmosProcessor.java} (88%)
 copy extensions-jvm/{google-pubsub => atmos}/integration-test/pom.xml (74%)
 copy extensions-jvm/{groovy/integration-test/src/main/java/org/apache/camel/quarkus/component/groovy/it/GroovyResource.java => atmos/integration-test/src/main/java/org/apache/camel/quarkus/component/atmos/it/AtmosResource.java} (74%)
 copy extensions-jvm/{ognl/integration-test/src/test/java/org/apache/camel/quarkus/component/ognl/it/OgnlTest.java => atmos/integration-test/src/test/java/org/apache/camel/quarkus/component/atmos/it/AtmosTest.java} (86%)
 copy {extensions-core/threadpoolfactory-vertx => extensions-jvm/atmos}/pom.xml (91%)
 copy {extensions/git => extensions-jvm/atmos}/runtime/pom.xml (86%)
 copy extensions-jvm/{avro-rpc => atmos}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (89%)
 copy {extensions/as2 => extensions-jvm/atom}/deployment/pom.xml (88%)
 copy extensions-jvm/{grpc/deployment/src/main/java/org/apache/camel/quarkus/component/grpc/deployment/GrpcProcessor.java => atom/deployment/src/main/java/org/apache/camel/quarkus/component/atom/deployment/AtomProcessor.java} (89%)
 copy extensions-jvm/{ognl => atom}/integration-test/pom.xml (74%)
 copy extensions-jvm/{avro-rpc/integration-test/src/main/java/org/apache/camel/quarkus/component/avro/it/AvroResource.java => atom/integration-test/src/main/java/org/apache/camel/quarkus/component/atom/it/AtomResource.java} (75%)
 copy extensions-jvm/{ognl/integration-test/src/test/java/org/apache/camel/quarkus/component/ognl/it/OgnlTest.java => atom/integration-test/src/test/java/org/apache/camel/quarkus/component/atom/it/AtomTest.java} (86%)
 copy {extensions-core/threadpoolfactory-vertx => extensions-jvm/atom}/pom.xml (91%)
 copy {extensions/git => extensions-jvm/atom}/runtime/pom.xml (89%)
 copy extensions-jvm/{groovy => atom}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (92%)


[camel-quarkus] 04/05: 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 076a2c3f33670bea0fdb5957805b71b3e0d95ba9
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                                    |   3 +-
 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/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-jvm/rabbitmq/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/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/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 --
 143 files changed, 127 insertions(+), 699 deletions(-)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 0e205c1..3cb5c15 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
@@ -209,7 +210,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
@@ -219,6 +219,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/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/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-jvm/rabbitmq/integration-test/pom.xml b/extensions-jvm/rabbitmq/integration-test/pom.xml
index 1c5a16c..4548e8a 100644
--- a/extensions-jvm/rabbitmq/integration-test/pom.xml
+++ b/extensions-jvm/rabbitmq/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-rabbitmq-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-rabbitmq-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 12dee0c..528630b 100644
--- a/extensions-support/pom.xml
+++ b/extensions-support/pom.xml
@@ -46,7 +46,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/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 4bef793..9d93b70 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-direct-deployment,camel-quarkus-flatpack-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>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 989c6ff..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-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 7523c0d..b28dc94 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/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 4e58bc3..919d11d 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -2968,16 +2968,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] 03/05: 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 a28d2f60a1f9d6e6943f5585f7d864ae97704498
Author: Zineb Bendhiba <be...@gmail.com>
AuthorDate: Tue Aug 18 09:41:58 2020 +0200

    Add ArangoDB component extension #1533
---
 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 +
 18 files changed, 832 insertions(+)

diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 4b49538..b945254 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -17,6 +17,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 67dec22..6d07f97 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 ba9a426..64b43a1 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 7e9e033..ee5a4de 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 195a912..7523c0d 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 70a3e91..4e58bc3 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>
@@ -1333,6 +1338,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 2c70314..176295a 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] 05/05: 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 96777a7a33c49fc53b9efa4381740a37fbb883d0
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Mon Jul 20 15:30:39 2020 +0200

    Add Camel AS2 Modules as Quarkus Extension #1471
---
 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      |  33 +---
 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 |  29 ++++
 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 +
 35 files changed, 1914 insertions(+), 26 deletions(-)

diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index b945254..a3cd926 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -18,6 +18,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 6d07f97..659a2f7 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 64b43a1..2922d3f 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 528630b..f1bc64d 100644
--- a/extensions-support/pom.xml
+++ b/extensions-support/bouncycastle/pom.xml
@@ -18,39 +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>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 528630b..f3fa837 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..62d9388
--- /dev/null
+++ b/extensions/as2/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,29 @@
+#
+# 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/extensions/as2.html"
+  categories:
+  - "integration"
diff --git a/extensions/pom.xml b/extensions/pom.xml
index ee5a4de..c7e028f 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..7ce6b5f
--- /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-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 b28dc94..b51df6b 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -61,6 +61,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 e5ca02a..16582f3 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 919d11d..30c45f4 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>
@@ -1348,6 +1353,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>
@@ -2868,6 +2883,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>
@@ -3388,6 +3413,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 176295a..eb63bc2 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -98,6 +98,7 @@ misc:
   - tika
   - vertx
 networking:
+  - as2
   - ftp
   - http
   - mail


[camel-quarkus] 01/05: 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 517d16d10a3d2243b5c11e2f1f96245e37fae22e
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  |  14 +--
 .../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, 271 insertions(+), 32 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/components.adoc b/docs/modules/ROOT/pages/reference/components.adoc
index bab0391..67dec22 100644
--- a/docs/modules/ROOT/pages/reference/components.adoc
+++ b/docs/modules/ROOT/pages/reference/components.adoc
@@ -71,7 +71,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.
@@ -110,7 +110,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.
@@ -127,11 +127,11 @@ Stable | 1.0.0 | Store and Retrieve data from/to AWS SDB service.
 | xref:reference/extensions/aws-translate.adoc[AWS Translate] | [.camel-element-artifact]##camel-quarkus-aws-translate## | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | Translate texts using AWS Translate.
 
-| 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.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.
@@ -146,7 +146,7 @@ Stable | 1.0.0 | Upload, download and manage files, folders, groups, collaborati
 Stable | 1.2.0 | Process payments using Braintree Payments.
 
 | 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/bean.adoc[Class] | [.camel-element-artifact]##camel-quarkus-bean## | [.camel-element-Native]##Native## +
 Stable | 0.2.0 | Invoke methods of Java beans specified by class name.
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 315004f..7d679bc 100644
--- a/docs/modules/ROOT/pages/reference/index.adoc
+++ b/docs/modules/ROOT/pages/reference/index.adoc
@@ -87,7 +87,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.
@@ -123,7 +123,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.
@@ -141,7 +141,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/base64.adoc[Base64]  | camel-quarkus-base64 | [.camel-element-Native]##Native## +
 Stable | 1.0.0 | Encode and decode data using Base64.
@@ -165,7 +165,7 @@ Stable | 1.2.0 | Process payments using Braintree Payments.
 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/core-cloud.adoc[Cloud]  | camel-quarkus-core-cloud | [.camel-element-Native]##Native## +
 Stable | 0.2.0 | The Camel Quarkus core cloud module
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 abcd05c..e5ca02a 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>
@@ -73,7 +74,7 @@
         <retrofit.version>2.5.0</retrofit.version>
         <smallrye.reactive.messaging.camel.version>2.2.1</smallrye.reactive.messaging.camel.version>
         <!-- 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>
@@ -105,7 +106,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 116d271..b9fb0cd 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -3368,6 +3368,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] 02/05: 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 d5e74b177fc2200dab6548ddf46fc5f5e6871612
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Tue Jul 7 15:34:29 2020 +0200

    Extension for camel-threadpoolfactory-vertx #1430
---
 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                     |   4 +
 .../camel/quarkus/main/CoreMainResource.java       |  19 ++++
 .../apache/camel/quarkus/main/CoreMainTest.java    |  14 +++
 poms/bom/pom.xml                                   |  15 ++++
 16 files changed, 388 insertions(+), 16 deletions(-)

diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 45be92d..4b49538 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -169,6 +169,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 7d679bc..ba9a426 100644
--- a/docs/modules/ROOT/pages/reference/index.adoc
+++ b/docs/modules/ROOT/pages/reference/index.adoc
@@ -488,6 +488,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..989c6ff 100644
--- a/integration-tests/main/pom.xml
+++ b/integration-tests/main/pom.xml
@@ -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 b9fb0cd..70a3e91 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -1191,6 +1191,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>
@@ -3043,6 +3048,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>