diff --git a/pom.xml b/pom.xml index 1f464a55..67a6eeef 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ Mule connector lets you easily send and receive messages to queues and topics for any message service which implements the JMS specification - 5.14.5 + 5.16.4 2.25.0 2.0.1 2.11.0 @@ -40,9 +40,9 @@ src/test/munit ${basedir}/target/test-mule/munit - 1.1.3 - 2.3.15 - 1.1.2 + 1.2.0-SNAPSHOT + 3.1.0-SNAPSHOT + 1.2.0-SNAPSHOT 3.3.0 0.41.0 3.3.0 @@ -55,6 +55,7 @@ 4.2 LICENSE_HEADER_CPAL.txt 2023 + @@ -359,6 +360,11 @@ true + + + + <_JAVA_OPTIONS>-XX:+PrintCommandLineFlags ${mtf.javaopts} + diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionFactoryProvider.java b/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionFactoryProvider.java index 6f74a977..60f7a7f3 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionFactoryProvider.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionFactoryProvider.java @@ -10,6 +10,7 @@ import static org.mule.runtime.api.meta.ExpressionSupport.NOT_SUPPORTED; import static org.mule.runtime.core.api.util.ClassUtils.instantiateClass; +import org.apache.activemq.ActiveMQXAConnectionFactory; import org.mule.extensions.jms.api.connection.factory.activemq.ActiveMQConnectionFactoryConfiguration; import org.mule.extensions.jms.api.exception.JmsMissingLibraryException; import org.mule.extensions.jms.internal.connection.exception.ActiveMQException; @@ -25,6 +26,7 @@ import java.util.List; import javax.jms.ConnectionFactory; +import javax.jms.Session; import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; @@ -86,6 +88,8 @@ ConnectionFactory createDefaultConnectionFactory(boolean useSsl) throws ActiveMQ this.connectionFactory = (ConnectionFactory) instantiateClass(factoryClass, factoryConfiguration.getBrokerUrl()); applyVendorSpecificConnectionFactoryProperties(connectionFactory); + if (this.connectionFactory instanceof ActiveMQXAConnectionFactory) + ((ActiveMQXAConnectionFactory) connectionFactory).setXaAckMode(Session.AUTO_ACKNOWLEDGE); return connectionFactory; } catch (ClassNotFoundException e) { String message = diff --git a/src/test/munit/reconnection/reconnection-config.xml b/src/test/munit/reconnection/reconnection-config.xml index d0a7f90f..b900c00e 100644 --- a/src/test/munit/reconnection/reconnection-config.xml +++ b/src/test/munit/reconnection/reconnection-config.xml @@ -16,9 +16,9 @@ - - - + + +