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

[camel-quarkus] branch azure-servicebus created (now 8590711)

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

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


      at 8590711  Add Extension for Camel Azure Servicebus

This branch includes the following new commits:

     new 8590711  Add Extension for Camel Azure Servicebus

The 1 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.


[camel-quarkus] 01/01: Add Extension for Camel Azure Servicebus

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

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

commit 859071138b0779aabc2a7f9b079f6c401883e1d5
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Mar 2 19:16:33 2022 +0100

    Add Extension for Camel Azure Servicebus
---
 .../ROOT/examples/components/azure-servicebus.yml  |  13 +++
 docs/modules/ROOT/nav.adoc                         |   1 +
 .../reference/extensions/azure-servicebus.adoc     |  35 +++++++
 extensions-jvm/azure-servicebus/deployment/pom.xml |  63 ++++++++++++
 .../deployment/AzureServicebusProcessor.java       |  46 +++++++++
 extensions-jvm/azure-servicebus/pom.xml            |  39 +++++++
 extensions-jvm/azure-servicebus/runtime/pom.xml    | 112 +++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  32 ++++++
 extensions-jvm/pom.xml                             |   1 +
 integration-tests-jvm/azure-servicebus/pom.xml     | 103 +++++++++++++++++++
 .../servicebus/it/AzureServicebusResource.java     |  51 ++++++++++
 .../azure/servicebus/it/AzureServicebusTest.java   |  34 +++++++
 integration-tests-jvm/pom.xml                      |   1 +
 poms/bom/pom.xml                                   |  15 +++
 14 files changed, 546 insertions(+)

diff --git a/docs/modules/ROOT/examples/components/azure-servicebus.yml b/docs/modules/ROOT/examples/components/azure-servicebus.yml
new file mode 100644
index 0000000..77f5ef6
--- /dev/null
+++ b/docs/modules/ROOT/examples/components/azure-servicebus.yml
@@ -0,0 +1,13 @@
+# Do not edit directly!
+# This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
+cqArtifactId: camel-quarkus-azure-servicebus
+cqArtifactIdBase: azure-servicebus
+cqNativeSupported: false
+cqStatus: Preview
+cqDeprecated: false
+cqJvmSince: 2.8.0
+cqNativeSince: n/a
+cqCamelPartName: azure-servicebus
+cqCamelPartTitle: Azure ServiceBus
+cqCamelPartDescription: Send and receive messages to/from Azure Event Bus.
+cqExtensionPageTitle: Azure ServiceBus
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 55820ff..adba497 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -63,6 +63,7 @@
 *** xref:reference/extensions/avro-rpc.adoc[Avro RPC]
 *** xref:reference/extensions/azure-cosmosdb.adoc[Azure CosmosDB]
 *** xref:reference/extensions/azure-eventhubs.adoc[Azure Event Hubs]
+*** xref:reference/extensions/azure-servicebus.adoc[Azure ServiceBus]
 *** xref:reference/extensions/azure-storage-blob.adoc[Azure Storage Blob Service]
 *** xref:reference/extensions/azure-storage-queue.adoc[Azure Storage Queue Service]
 *** xref:reference/extensions/azure-storage-datalake.adoc[Azure storage datalake service]
diff --git a/docs/modules/ROOT/pages/reference/extensions/azure-servicebus.adoc b/docs/modules/ROOT/pages/reference/extensions/azure-servicebus.adoc
new file mode 100644
index 0000000..cdd5bcb
--- /dev/null
+++ b/docs/modules/ROOT/pages/reference/extensions/azure-servicebus.adoc
@@ -0,0 +1,35 @@
+// Do not edit directly!
+// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
+= Azure ServiceBus
+:linkattrs:
+:cq-artifact-id: camel-quarkus-azure-servicebus
+:cq-native-supported: false
+:cq-status: Preview
+:cq-status-deprecation: Preview
+:cq-description: Send and receive messages to/from Azure Event Bus.
+:cq-deprecated: false
+:cq-jvm-since: 2.8.0
+:cq-native-since: n/a
+
+[.badges]
+[.badge-key]##JVM since##[.badge-supported]##2.8.0## [.badge-key]##Native##[.badge-unsupported]##unsupported##
+
+Send and receive messages to/from Azure Event Bus.
+
+== What's inside
+
+* xref:{cq-camel-components}::azure-servicebus-component.adoc[Azure ServiceBus component], URI syntax: `azure-servicebus:topicOrQueueName`
+
+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-azure-servicebus</artifactId>
+</dependency>
+----
+
+Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
diff --git a/extensions-jvm/azure-servicebus/deployment/pom.xml b/extensions-jvm/azure-servicebus/deployment/pom.xml
new file mode 100644
index 0000000..fe1d73e
--- /dev/null
+++ b/extensions-jvm/azure-servicebus/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-azure-servicebus-parent</artifactId>
+        <version>2.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-azure-servicebus-deployment</artifactId>
+    <name>Camel Quarkus :: Azure ServiceBus :: 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-azure-servicebus</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-jvm/azure-servicebus/deployment/src/main/java/org/apache/camel/quarkus/component/azure/servicebus/deployment/AzureServicebusProcessor.java b/extensions-jvm/azure-servicebus/deployment/src/main/java/org/apache/camel/quarkus/component/azure/servicebus/deployment/AzureServicebusProcessor.java
new file mode 100644
index 0000000..e9a3dda
--- /dev/null
+++ b/extensions-jvm/azure-servicebus/deployment/src/main/java/org/apache/camel/quarkus/component/azure/servicebus/deployment/AzureServicebusProcessor.java
@@ -0,0 +1,46 @@
+/*
+ * 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.azure.servicebus.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.deployment.pkg.steps.NativeBuild;
+import org.apache.camel.quarkus.core.JvmOnlyRecorder;
+import org.jboss.logging.Logger;
+
+class AzureServicebusProcessor {
+
+    private static final Logger LOG = Logger.getLogger(AzureServicebusProcessor.class);
+    private static final String FEATURE = "camel-azure-servicebus";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    /**
+     * Remove this once this extension starts supporting the native mode.
+     */
+    @BuildStep(onlyIf = NativeBuild.class)
+    @Record(value = ExecutionTime.RUNTIME_INIT)
+    void warnJvmInNative(JvmOnlyRecorder recorder) {
+        JvmOnlyRecorder.warnJvmInNative(LOG, FEATURE); // warn at build time
+        recorder.warnJvmInNative(FEATURE); // warn at runtime
+    }
+}
diff --git a/extensions-jvm/azure-servicebus/pom.xml b/extensions-jvm/azure-servicebus/pom.xml
new file mode 100644
index 0000000..d3122d5
--- /dev/null
+++ b/extensions-jvm/azure-servicebus/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-extensions-jvm</artifactId>
+        <version>2.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-azure-servicebus-parent</artifactId>
+    <name>Camel Quarkus :: Azure ServiceBus</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+    </modules>
+</project>
diff --git a/extensions-jvm/azure-servicebus/runtime/pom.xml b/extensions-jvm/azure-servicebus/runtime/pom.xml
new file mode 100644
index 0000000..7ed8115
--- /dev/null
+++ b/extensions-jvm/azure-servicebus/runtime/pom.xml
@@ -0,0 +1,112 @@
+<?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-azure-servicebus-parent</artifactId>
+        <version>2.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-azure-servicebus</artifactId>
+    <name>Camel Quarkus :: Azure ServiceBus :: Runtime</name>
+    <description>Send and receive messages to/from Azure Event Bus.</description>
+
+    <properties>
+        <camel.quarkus.jvmSince>2.8.0</camel.quarkus.jvmSince>
+    </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-azure-servicebus</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>
+
+
+    <profiles>
+        <profile>
+            <id>full</id>
+            <activation>
+                <property>
+                    <name>!quickly</name>
+                </property>
+            </activation>
+            <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>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/extensions-jvm/azure-servicebus/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-jvm/azure-servicebus/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..f1fa4b4
--- /dev/null
+++ b/extensions-jvm/azure-servicebus/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,32 @@
+#
+# 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 Azure ServiceBus"
+description: "Send and receive messages to/from Azure Event Bus"
+metadata:
+  unlisted: true
+  guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/azure-servicebus.html"
+  categories:
+  - "integration"
+  status:
+  - "preview"
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index cfa9316..ba3a938 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -42,6 +42,7 @@
         <module>aws-secrets-manager</module>
         <module>aws-xray</module>
         <module>azure-cosmosdb</module>
+        <module>azure-servicebus</module>
         <module>azure-storage-datalake</module>
         <module>barcode</module>
         <module>beanio</module>
diff --git a/integration-tests-jvm/azure-servicebus/pom.xml b/integration-tests-jvm/azure-servicebus/pom.xml
new file mode 100644
index 0000000..4d3a403
--- /dev/null
+++ b/integration-tests-jvm/azure-servicebus/pom.xml
@@ -0,0 +1,103 @@
+<?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-it</artifactId>
+        <version>2.8.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-integration-test-azure-servicebus</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Azure ServiceBus</name>
+    <description>Integration tests for Camel Quarkus Azure ServiceBus extension</description>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>${quarkus.platform.group-id}</groupId>
+                <artifactId>${quarkus.platform.artifact-id}</artifactId>
+                <version>${quarkus.platform.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-test</artifactId>
+                <version>${camel-quarkus.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-azure-servicebus</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>
+    </dependencies>
+
+    <profiles>
+        <profile>
+            <id>virtualDependencies</id>
+            <activation>
+                <property>
+                    <name>!noVirtualDependencies</name>
+                </property>
+            </activation>
+            <dependencies>
+                <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+                <dependency>
+                    <groupId>org.apache.camel.quarkus</groupId>
+                    <artifactId>camel-quarkus-azure-servicebus-deployment</artifactId>
+                    <version>${project.version}</version>
+                    <type>pom</type>
+                    <scope>test</scope>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>*</groupId>
+                            <artifactId>*</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+</project>
diff --git a/integration-tests-jvm/azure-servicebus/src/main/java/org/apache/camel/quarkus/component/azure/servicebus/it/AzureServicebusResource.java b/integration-tests-jvm/azure-servicebus/src/main/java/org/apache/camel/quarkus/component/azure/servicebus/it/AzureServicebusResource.java
new file mode 100644
index 0000000..e54fd2f
--- /dev/null
+++ b/integration-tests-jvm/azure-servicebus/src/main/java/org/apache/camel/quarkus/component/azure/servicebus/it/AzureServicebusResource.java
@@ -0,0 +1,51 @@
+/*
+ * 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.azure.servicebus.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.camel.CamelContext;
+import org.jboss.logging.Logger;
+
+@Path("/azure-servicebus")
+@ApplicationScoped
+public class AzureServicebusResource {
+
+    private static final Logger LOG = Logger.getLogger(AzureServicebusResource.class);
+
+    private static final String COMPONENT_AZURE_SERVICEBUS = "azure-servicebus";
+    @Inject
+    CamelContext context;
+
+    @Path("/load/component/azure-servicebus")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response loadComponentAzureServicebus() throws Exception {
+        /* This is an autogenerated test */
+        if (context.getComponent(COMPONENT_AZURE_SERVICEBUS) != null) {
+            return Response.ok().build();
+        }
+        LOG.warnf("Could not load [%s] from the Camel context", COMPONENT_AZURE_SERVICEBUS);
+        return Response.status(500, COMPONENT_AZURE_SERVICEBUS + " could not be loaded from the Camel context").build();
+    }
+}
diff --git a/integration-tests-jvm/azure-servicebus/src/test/java/org/apache/camel/quarkus/component/azure/servicebus/it/AzureServicebusTest.java b/integration-tests-jvm/azure-servicebus/src/test/java/org/apache/camel/quarkus/component/azure/servicebus/it/AzureServicebusTest.java
new file mode 100644
index 0000000..166b446
--- /dev/null
+++ b/integration-tests-jvm/azure-servicebus/src/test/java/org/apache/camel/quarkus/component/azure/servicebus/it/AzureServicebusTest.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.azure.servicebus.it;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import org.junit.jupiter.api.Test;
+
+@QuarkusTest
+class AzureServicebusTest {
+
+    @Test
+    public void loadComponentAzureServicebus() {
+        /* A simple autogenerated test */
+        RestAssured.get("/azure-servicebus/load/component/azure-servicebus")
+                .then()
+                .statusCode(200);
+    }
+
+}
diff --git a/integration-tests-jvm/pom.xml b/integration-tests-jvm/pom.xml
index f64fb43..bb0c5b8 100644
--- a/integration-tests-jvm/pom.xml
+++ b/integration-tests-jvm/pom.xml
@@ -40,6 +40,7 @@
         <module>aws-secrets-manager</module>
         <module>aws-xray</module>
         <module>azure-cosmosdb</module>
+        <module>azure-servicebus</module>
         <module>azure-storage-datalake</module>
         <module>barcode</module>
         <module>beanio</module>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 5846a6c..2218c60 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -599,6 +599,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-azure-servicebus</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-azure-storage-blob</artifactId>
                 <version>${camel.version}</version>
                 <exclusions>
@@ -3151,6 +3156,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-azure-servicebus</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-azure-servicebus-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-azure-storage-blob</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>