diff --git a/build-parent/pom.xml b/build-parent/pom.xml
index d1d12aba0a97e..304e3dd07d0de 100644
--- a/build-parent/pom.xml
+++ b/build-parent/pom.xml
@@ -175,6 +175,9 @@
1.1.1
7.4.4
+
+
+ 3.1.0
@@ -348,6 +351,11 @@
mermaid
${webjar.mermaid.version}
+
+ jakarta.jms
+ jakarta.jms-api
+ ${jakarta.jms-api.version}
+
com.github.davidmoten
subethasmtp
diff --git a/extensions/jms-spi/deployment/pom.xml b/extensions/jms-spi/deployment/pom.xml
new file mode 100644
index 0000000000000..98a1c8c187193
--- /dev/null
+++ b/extensions/jms-spi/deployment/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+
+ io.quarkus
+ quarkus-jms-spi-parent
+ 999-SNAPSHOT
+
+
+ quarkus-jms-spi-deployment
+ Quarkus - JMS - SPI - Deployment
+
+
+
+ io.quarkus
+ quarkus-core-deployment
+
+
+ jakarta.jms
+ jakarta.jms-api
+
+
+
+
diff --git a/extensions/jms-spi/deployment/src/main/java/io/quarkus/jms/spi/deployment/ConnectionFactoryWrapperBuildItem.java b/extensions/jms-spi/deployment/src/main/java/io/quarkus/jms/spi/deployment/ConnectionFactoryWrapperBuildItem.java
new file mode 100644
index 0000000000000..2266bec3ebc6e
--- /dev/null
+++ b/extensions/jms-spi/deployment/src/main/java/io/quarkus/jms/spi/deployment/ConnectionFactoryWrapperBuildItem.java
@@ -0,0 +1,25 @@
+package io.quarkus.jms.spi.deployment;
+
+import java.util.function.Function;
+
+import jakarta.jms.ConnectionFactory;
+
+import io.quarkus.builder.item.SimpleBuildItem;
+
+/**
+ * A build item that can be used to wrap the JMS ConnectionFactory
+ */
+public final class ConnectionFactoryWrapperBuildItem extends SimpleBuildItem {
+ private final Function wrapper;
+
+ public ConnectionFactoryWrapperBuildItem(Function wrapper) {
+ if (wrapper == null) {
+ throw new AssertionError("wrapper is required");
+ }
+ this.wrapper = wrapper;
+ }
+
+ public Function getWrapper() {
+ return wrapper;
+ }
+}
diff --git a/extensions/jms-spi/pom.xml b/extensions/jms-spi/pom.xml
new file mode 100644
index 0000000000000..ed967c17f6814
--- /dev/null
+++ b/extensions/jms-spi/pom.xml
@@ -0,0 +1,20 @@
+
+
+
+ quarkus-extensions-parent
+ io.quarkus
+ 999-SNAPSHOT
+ ../pom.xml
+
+ 4.0.0
+
+ quarkus-jms-spi-parent
+ Quarkus - JMS SPI - Parent
+ pom
+
+ deployment
+
+
+
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 39f767d438f5c..e443cd5dffe96 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -200,6 +200,9 @@
awt
+
+ jms-spi
+