diff --git a/deployment/pom.xml b/deployment/pom.xml
index 18e3429..9d4e454 100644
--- a/deployment/pom.xml
+++ b/deployment/pom.xml
@@ -15,13 +15,11 @@
io.quarkus
- quarkus-narayana-jta-deployment
- true
+ quarkus-jms-spi-deployment
- io.quarkiverse.artemis
- quarkus-artemis-jms-deployment
- ${quarkus-artemis.version}
+ io.quarkus
+ quarkus-narayana-jta-deployment
true
diff --git a/deployment/src/main/java/io/quarkiverse/messaginghub/pooled/jms/deployment/PooledJmsProcessor.java b/deployment/src/main/java/io/quarkiverse/messaginghub/pooled/jms/deployment/PooledJmsProcessor.java
index 3e25f2a..fc87ec7 100644
--- a/deployment/src/main/java/io/quarkiverse/messaginghub/pooled/jms/deployment/PooledJmsProcessor.java
+++ b/deployment/src/main/java/io/quarkiverse/messaginghub/pooled/jms/deployment/PooledJmsProcessor.java
@@ -1,11 +1,9 @@
package io.quarkiverse.messaginghub.pooled.jms.deployment;
-import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.jboss.jandex.DotName;
import io.quarkiverse.messaginghub.pooled.jms.PooledJmsRecorder;
import io.quarkus.arc.deployment.UnremovableBeanBuildItem;
-import io.quarkus.artemis.jms.deployment.ArtemisJmsWrapperBuildItem;
import io.quarkus.deployment.Capabilities;
import io.quarkus.deployment.Capability;
import io.quarkus.deployment.annotations.BuildProducer;
@@ -14,6 +12,7 @@
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.builditem.FeatureBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.jms.spi.deployment.ConnectionFactoryWrapperBuildItem;
class PooledJmsProcessor {
@@ -26,14 +25,15 @@ FeatureBuildItem feature() {
@BuildStep
void reflective(BuildProducer producer) {
- producer.produce(new ReflectiveClassBuildItem(true, false, ActiveMQConnectionFactory.class));
+ producer.produce(
+ new ReflectiveClassBuildItem(true, false, "org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory"));
producer.produce(new ReflectiveClassBuildItem(true, false, "org.apache.commons.pool2.impl.DefaultEvictionPolicy"));
}
@BuildStep
@Record(ExecutionTime.RUNTIME_INIT)
- ArtemisJmsWrapperBuildItem wrap(Capabilities capabilities, PooledJmsRecorder recorder) {
- return new ArtemisJmsWrapperBuildItem(recorder.getWrapper(capabilities.isPresent(Capability.TRANSACTIONS)));
+ ConnectionFactoryWrapperBuildItem wrap(Capabilities capabilities, PooledJmsRecorder recorder) {
+ return new ConnectionFactoryWrapperBuildItem(recorder.getWrapper(capabilities.isPresent(Capability.TRANSACTIONS)));
}
@BuildStep
diff --git a/pom.xml b/pom.xml
index 5002d1f..710d5a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
UTF-8
UTF-8
3.0.0.Alpha5
- 3.0.0.Alpha6
+ 3.0.0.Alpha7
3.1.0
@@ -33,13 +33,6 @@
pom
import
-
- io.quarkiverse.artemis
- quarkus-artemis-bom
- ${quarkus-artemis.version}
- pom
- import
-
org.messaginghub
pooled-jms
diff --git a/runtime/pom.xml b/runtime/pom.xml
index c780586..9844cdb 100644
--- a/runtime/pom.xml
+++ b/runtime/pom.xml
@@ -18,11 +18,6 @@
quarkus-narayana-jta
true
-
- io.quarkiverse.artemis
- quarkus-artemis-jms
- true
-
org.messaginghub
pooled-jms
diff --git a/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsRecorder.java b/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsRecorder.java
index 3200af6..72b3dc4 100644
--- a/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsRecorder.java
+++ b/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsRecorder.java
@@ -1,6 +1,9 @@
package io.quarkiverse.messaginghub.pooled.jms;
-import io.quarkus.artemis.jms.runtime.ArtemisJmsWrapper;
+import java.util.function.Function;
+
+import jakarta.jms.ConnectionFactory;
+
import io.quarkus.runtime.annotations.Recorder;
@Recorder
@@ -11,7 +14,10 @@ public PooledJmsRecorder(PooledJmsRuntimeConfig config) {
this.pooledJmsRuntimeConfig = config;
}
- public ArtemisJmsWrapper getWrapper(boolean transaction) {
- return new PooledJmsWrapper(transaction, pooledJmsRuntimeConfig);
+ public Function getWrapper(boolean transaction) {
+ return cf -> {
+ PooledJmsWrapper wrapper = new PooledJmsWrapper(transaction, pooledJmsRuntimeConfig);
+ return wrapper.wrapConnectionFactory(cf);
+ };
}
}
diff --git a/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsWrapper.java b/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsWrapper.java
index d426293..a099ed3 100644
--- a/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsWrapper.java
+++ b/runtime/src/main/java/io/quarkiverse/messaginghub/pooled/jms/PooledJmsWrapper.java
@@ -3,7 +3,6 @@
import jakarta.jms.ConnectionFactory;
import jakarta.transaction.TransactionManager;
-import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.eclipse.microprofile.config.ConfigProvider;
import org.jboss.narayana.jta.jms.JmsXAResourceRecoveryHelper;
import org.jboss.tm.XAResourceRecoveryRegistry;
@@ -11,9 +10,8 @@
import org.messaginghub.pooled.jms.JmsPoolXAConnectionFactory;
import io.quarkus.arc.Arc;
-import io.quarkus.artemis.jms.runtime.ArtemisJmsWrapper;
-public class PooledJmsWrapper implements ArtemisJmsWrapper {
+public class PooledJmsWrapper {
private boolean transaction;
private PooledJmsRuntimeConfig pooledJmsRuntimeConfig;
@@ -22,8 +20,7 @@ public PooledJmsWrapper(boolean transaction, PooledJmsRuntimeConfig pooledJmsRun
this.pooledJmsRuntimeConfig = pooledJmsRuntimeConfig;
}
- @Override
- public ConnectionFactory wrapConnectionFactory(ActiveMQConnectionFactory connectionFactory) {
+ public ConnectionFactory wrapConnectionFactory(ConnectionFactory connectionFactory) {
if (!pooledJmsRuntimeConfig.poolingEnabled) {
return connectionFactory;
}
@@ -35,7 +32,7 @@ public ConnectionFactory wrapConnectionFactory(ActiveMQConnectionFactory connect
}
}
- private ConnectionFactory getXAConnectionFactory(ActiveMQConnectionFactory connectionFactory) {
+ private ConnectionFactory getXAConnectionFactory(ConnectionFactory connectionFactory) {
TransactionManager transactionManager = Arc.container().instance(TransactionManager.class).get();
JmsPoolXAConnectionFactory xaConnectionFactory = new JmsPoolXAConnectionFactory();
@@ -55,7 +52,7 @@ private ConnectionFactory getXAConnectionFactory(ActiveMQConnectionFactory conne
return xaConnectionFactory;
}
- private ConnectionFactory getConnectionFactory(ActiveMQConnectionFactory connectionFactory) {
+ private ConnectionFactory getConnectionFactory(ConnectionFactory connectionFactory) {
JmsPoolConnectionFactory poolConnectionFactory = new JmsPoolConnectionFactory();
pooledJmsRuntimeConfigureConnectionFactory(poolConnectionFactory, connectionFactory);
@@ -63,7 +60,7 @@ private ConnectionFactory getConnectionFactory(ActiveMQConnectionFactory connect
}
private void pooledJmsRuntimeConfigureConnectionFactory(JmsPoolConnectionFactory poolConnectionFactory,
- ActiveMQConnectionFactory connectionFactory) {
+ ConnectionFactory connectionFactory) {
poolConnectionFactory.setConnectionFactory(connectionFactory);
poolConnectionFactory.setMaxConnections(pooledJmsRuntimeConfig.maxConnections);
poolConnectionFactory.setConnectionIdleTimeout(pooledJmsRuntimeConfig.connectionIdleTimeout);