You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/03/14 08:25:02 UTC
(camel) 04/04: CAMEL-20477: adjust Artemis service to reduce broker recycling
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 9a87a3d467d5d8de8c3e5d3b10b50df36d12570b
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Wed Mar 13 12:47:55 2024 +0100
CAMEL-20477: adjust Artemis service to reduce broker recycling
Previously, the broker would be recycled after every test. However, this is unnecessary now that the tests use separate resources.
---
.../component/jms/JmsAsyncStartStopListenerTest.java | 2 +-
.../jms/JmsDefaultTaskExecutorTypeTest.java | 2 +-
...msRequestReplyTempQueueMultipleConsumersTest.java | 2 +-
.../jms/integration/JmsLoadBalanceFailOverIT.java | 2 +-
...eadLetterChannelHandlerRollbackOnExceptionIT.java | 2 +-
.../component/jms/tx/TransactedOnCompletionTest.java | 2 +-
.../sjms/consumer/InOutConsumerQueueAsyncTest.java | 20 ++++++++++++++++++--
.../sjms/producer/QueueProducerQoSTest.java | 2 +-
.../component/sjms/support/JmsCommonTestSupport.java | 2 +-
.../sjms/tx/TransactedConcurrentConsumersTest.java | 6 ++++++
.../component/sjms/tx/TransactedConsumerSupport.java | 6 ------
.../tx/TransactedConsumersMultipleRouteTest.java | 6 ++++++
.../sjms/tx/TransactedQueueConsumerTest.java | 6 ++++++
.../sjms/tx/TransactedTopicConsumerTest.java | 6 ++++++
.../component/sjms2/SimpleJms2ComponentTest.java | 2 +-
.../sjms2/Sjms2EndpointNameOverrideTest.java | 2 +-
.../camel/component/sjms2/Sjms2EndpointTest.java | 2 +-
.../consumer/InOnlyTopicDurableConsumerTest.java | 11 +++++++++++
.../consumer/InOnlyTopicSharedConsumerTest.java | 11 +++++++++++
.../sjms2/producer/InOnlyQueueProducerTest.java | 10 ++++++++++
.../sjms2/producer/InOnlyTopicProducerTest.java | 10 ++++++++++
.../sjms2/producer/Sjms2ToDSendDynamicTest.java | 11 +++++++++++
.../component/sjms2/support/Jms2TestSupport.java | 16 ++++++----------
.../apache/camel/component/stomp/StompBaseTest.java | 6 +++---
.../test/infra/artemis/services/ArtemisService.java | 10 +++++-----
.../artemis/services/ArtemisServiceFactory.java | 4 ++--
26 files changed, 122 insertions(+), 39 deletions(-)
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java
index 1d8e05699fa..88b41be0396 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java
@@ -40,7 +40,7 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow
@Timeout(30)
public class JmsAsyncStartStopListenerTest extends CamelTestSupport {
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createPersistentVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createPersistentVMService();
protected final String componentName = "activemq";
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java
index 2710dc181c5..f7071976ecc 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java
@@ -57,7 +57,7 @@ class JmsDefaultTaskExecutorTypeTest extends CamelTestSupport {
private static final Logger LOG = LoggerFactory.getLogger(JmsDefaultTaskExecutorTypeTest.class);
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createPersistentVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createPersistentVMService();
@Test
void testThreadPoolTaskExecutor() throws Exception {
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java
index 3c31fb0b28c..bbdc6b4503c 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java
@@ -49,7 +49,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class JmsRequestReplyTempQueueMultipleConsumersTest extends CamelTestSupport {
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
private final Map<String, AtomicInteger> msgsPerThread = new ConcurrentHashMap<>();
private JmsPoolConnectionFactory connectionFactory;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsLoadBalanceFailOverIT.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsLoadBalanceFailOverIT.java
index 8208be8ba5c..7e66ab0d17f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsLoadBalanceFailOverIT.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsLoadBalanceFailOverIT.java
@@ -40,7 +40,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
public class JmsLoadBalanceFailOverIT extends CamelTestSupport {
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
@BeforeEach
void configureTest() {
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/tx/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionIT.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/tx/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionIT.java
index e2ab046e885..0345d2f4133 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/tx/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionIT.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/tx/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionIT.java
@@ -40,7 +40,7 @@ import static org.junit.jupiter.api.Assertions.assertNull;
@Tags({ @Tag("not-parallel"), @Tag("transaction") })
public class JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionIT extends CamelTestSupport {
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
public static class BadErrorHandler {
@Handler
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/TransactedOnCompletionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/TransactedOnCompletionTest.java
index 496b2110add..93d796268ee 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/TransactedOnCompletionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/TransactedOnCompletionTest.java
@@ -32,7 +32,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
public class TransactedOnCompletionTest extends CamelTestSupport {
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
@Produce
protected ProducerTemplate template;
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOutConsumerQueueAsyncTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOutConsumerQueueAsyncTest.java
index 33a323d381c..5aeb3b9898f 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOutConsumerQueueAsyncTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOutConsumerQueueAsyncTest.java
@@ -16,15 +16,22 @@
*/
package org.apache.camel.component.sjms.consumer;
+import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.sjms.support.JmsTestSupport;
+import org.apache.camel.component.sjms.support.JmsCommonTestSupport;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
-public class InOutConsumerQueueAsyncTest extends JmsTestSupport {
+public class InOutConsumerQueueAsyncTest extends JmsCommonTestSupport {
+
+ @RegisterExtension
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
@Test
public void testAsync() throws Exception {
@@ -61,4 +68,13 @@ public class InOutConsumerQueueAsyncTest extends JmsTestSupport {
};
}
+ @Override
+ protected String getBrokerUri() {
+ return service.serviceAddress();
+ }
+
+ @Override
+ protected void setupFactoryExternal(ActiveMQConnectionFactory factory) {
+ setupFactoryExternal(factory, service);
+ }
}
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/producer/QueueProducerQoSTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/producer/QueueProducerQoSTest.java
index ce2fb1c8e92..de971ad5824 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/producer/QueueProducerQoSTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/producer/QueueProducerQoSTest.java
@@ -51,7 +51,7 @@ public class QueueProducerQoSTest extends CamelTestSupport {
private static final String MOCK_EXPIRED_ADVISORY = "mock:expiredAdvisory";
@RegisterExtension
- public ArtemisService service = new ArtemisEmbeddedServiceBuilder()
+ public static ArtemisService service = new ArtemisEmbeddedServiceBuilder()
.withPersistent(true)
.withCustomConfiguration(configuration -> configureArtemis(configuration))
.build();
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/support/JmsCommonTestSupport.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/support/JmsCommonTestSupport.java
index 0e0e54a772a..dcfd865067a 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/support/JmsCommonTestSupport.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/support/JmsCommonTestSupport.java
@@ -46,7 +46,7 @@ import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
/**
* A support class that builds up and tears down an ActiveMQ instance to be used for unit testing.
*/
-abstract class JmsCommonTestSupport extends CamelTestSupport {
+public abstract class JmsCommonTestSupport extends CamelTestSupport {
protected final Logger log = LoggerFactory.getLogger(getClass());
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java
index 20a01ee4549..f162dfcaeaa 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java
@@ -16,13 +16,19 @@
*/
package org.apache.camel.component.sjms.tx;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
/**
* Test to verify concurrent consumers on a transacted endpoint.
*/
public class TransactedConcurrentConsumersTest extends TransactedConsumerSupport {
+ @RegisterExtension
+ protected static ArtemisService service = ArtemisServiceFactory.createVMService();
+
/**
* We want to verify that when consuming from a single destination with multiple routes that we are thread safe and
* behave accordingly.
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumerSupport.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumerSupport.java
index 8c2c312df71..7f5ec842dbe 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumerSupport.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumerSupport.java
@@ -27,10 +27,7 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.sjms.SjmsComponent;
-import org.apache.camel.test.infra.artemis.services.ArtemisService;
-import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,9 +35,6 @@ public abstract class TransactedConsumerSupport extends CamelTestSupport {
protected final Logger log = LoggerFactory.getLogger(getClass());
- @RegisterExtension
- protected ArtemisService service = ArtemisServiceFactory.createVMService();
-
public abstract String getBrokerUri();
protected void runTest(
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumersMultipleRouteTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumersMultipleRouteTest.java
index dbe825f0335..c14d9dc89e9 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumersMultipleRouteTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConsumersMultipleRouteTest.java
@@ -16,8 +16,11 @@
*/
package org.apache.camel.component.sjms.tx;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
/**
* Test to verify concurrent consumers on a transacted endpoint.
@@ -25,6 +28,9 @@ import org.junit.jupiter.api.Test;
@Disabled("Works only in isolation")
public class TransactedConsumersMultipleRouteTest extends TransactedConsumerSupport {
+ @RegisterExtension
+ protected static ArtemisService service = ArtemisServiceFactory.createVMService();
+
/**
* We want to verify that when consuming from a single destination with multiple routes that we are thread safe and
* behave accordingly.
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedQueueConsumerTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedQueueConsumerTest.java
index ae3bbb9eeef..880772a9c09 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedQueueConsumerTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedQueueConsumerTest.java
@@ -16,10 +16,16 @@
*/
package org.apache.camel.component.sjms.tx;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class TransactedQueueConsumerTest extends TransactedConsumerSupport {
+ @RegisterExtension
+ protected static ArtemisService service = ArtemisServiceFactory.createVMService();
+
/**
* We want to verify that when consuming from a single destination with multiple routes that we are thread safe and
* behave accordingly.
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedTopicConsumerTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedTopicConsumerTest.java
index 689d1f57f05..6c613f9d6ab 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedTopicConsumerTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedTopicConsumerTest.java
@@ -16,10 +16,16 @@
*/
package org.apache.camel.component.sjms.tx;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class TransactedTopicConsumerTest extends TransactedConsumerSupport {
+ @RegisterExtension
+ protected static ArtemisService service = ArtemisServiceFactory.createVMService();
+
/**
* We want to verify that when consuming from a single destination with multiple routes that we are thread safe and
* behave accordingly.
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/SimpleJms2ComponentTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/SimpleJms2ComponentTest.java
index e373c0f7040..3adfb61e79c 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/SimpleJms2ComponentTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/SimpleJms2ComponentTest.java
@@ -29,7 +29,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
public class SimpleJms2ComponentTest extends CamelTestSupport {
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
@Test
public void testHelloWorld() {
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointNameOverrideTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointNameOverrideTest.java
index 9d2bacdd56e..39f537d57f9 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointNameOverrideTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointNameOverrideTest.java
@@ -35,7 +35,7 @@ public class Sjms2EndpointNameOverrideTest extends CamelTestSupport {
private static final String BEAN_NAME = "not-sjms";
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
@Override
protected boolean useJmx() {
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointTest.java
index ac3ac678785..86512e141f8 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/Sjms2EndpointTest.java
@@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.fail;
public class Sjms2EndpointTest extends CamelTestSupport {
@RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createVMService();
+ public static ArtemisService service = ArtemisServiceFactory.createVMService();
@Override
protected boolean useJmx() {
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicDurableConsumerTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicDurableConsumerTest.java
index ed0fcc47122..8470bedd66c 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicDurableConsumerTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicDurableConsumerTest.java
@@ -16,17 +16,24 @@
*/
package org.apache.camel.component.sjms2.consumer;
+import jakarta.jms.ConnectionFactory;
+
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.sjms2.Sjms2Component;
import org.apache.camel.component.sjms2.support.Jms2TestSupport;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.messaginghub.pooled.jms.JmsPoolConnectionFactory;
public class InOnlyTopicDurableConsumerTest extends Jms2TestSupport {
private static final String CONNECTION_ID = "test-connection-1";
+ @RegisterExtension
+ public static ArtemisService service = ArtemisServiceFactory.createTCPAllProtocolsService();
@Override
protected boolean useJmx() {
@@ -76,4 +83,8 @@ public class InOnlyTopicDurableConsumerTest extends Jms2TestSupport {
}
};
}
+
+ protected ConnectionFactory getConnectionFactory() throws Exception {
+ return getConnectionFactory(service.serviceAddress());
+ }
}
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicSharedConsumerTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicSharedConsumerTest.java
index 1993ec7df44..e03d8fba9ac 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicSharedConsumerTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/consumer/InOnlyTopicSharedConsumerTest.java
@@ -16,14 +16,21 @@
*/
package org.apache.camel.component.sjms2.consumer;
+import jakarta.jms.ConnectionFactory;
+
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.sjms2.support.Jms2TestSupport;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class InOnlyTopicSharedConsumerTest extends Jms2TestSupport {
private static final String TEST_DESTINATION_NAME = "sjms2:topic:in.only.topic.consumer.test";
+ @RegisterExtension
+ public static ArtemisService service = ArtemisServiceFactory.createTCPAllProtocolsService();
@Override
protected boolean useJmx() {
@@ -64,4 +71,8 @@ public class InOnlyTopicSharedConsumerTest extends Jms2TestSupport {
}
};
}
+
+ protected ConnectionFactory getConnectionFactory() throws Exception {
+ return getConnectionFactory(service.serviceAddress());
+ }
}
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyQueueProducerTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyQueueProducerTest.java
index d9c0afe962d..8b0cb55110c 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyQueueProducerTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyQueueProducerTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.sjms2.producer;
+import jakarta.jms.ConnectionFactory;
import jakarta.jms.Message;
import jakarta.jms.MessageConsumer;
import jakarta.jms.TextMessage;
@@ -24,7 +25,10 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.sjms.SjmsConstants;
import org.apache.camel.component.sjms2.support.Jms2TestSupport;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -32,6 +36,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class InOnlyQueueProducerTest extends Jms2TestSupport {
private static final String TEST_DESTINATION_NAME = "sync.queue.producer.test";
+ @RegisterExtension
+ public static ArtemisService service = ArtemisServiceFactory.createTCPAllProtocolsService();
@Test
public void testInOnlyQueueProducer() throws Exception {
@@ -97,4 +103,8 @@ public class InOnlyQueueProducerTest extends Jms2TestSupport {
}
};
}
+
+ protected ConnectionFactory getConnectionFactory() throws Exception {
+ return getConnectionFactory(service.serviceAddress());
+ }
}
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyTopicProducerTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyTopicProducerTest.java
index a141643c727..9d79b6f3031 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyTopicProducerTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/InOnlyTopicProducerTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.sjms2.producer;
+import jakarta.jms.ConnectionFactory;
import jakarta.jms.Message;
import jakarta.jms.MessageConsumer;
import jakarta.jms.TextMessage;
@@ -23,7 +24,10 @@ import jakarta.jms.TextMessage;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.sjms2.support.Jms2TestSupport;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -31,6 +35,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class InOnlyTopicProducerTest extends Jms2TestSupport {
private static final String TEST_DESTINATION_NAME = "test.foo.topic";
+ @RegisterExtension
+ public static ArtemisService service = ArtemisServiceFactory.createTCPAllProtocolsService();
public InOnlyTopicProducerTest() {
}
@@ -83,4 +89,8 @@ public class InOnlyTopicProducerTest extends Jms2TestSupport {
}
};
}
+
+ protected ConnectionFactory getConnectionFactory() throws Exception {
+ return getConnectionFactory(service.serviceAddress());
+ }
}
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/Sjms2ToDSendDynamicTest.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/Sjms2ToDSendDynamicTest.java
index a2236417860..cbd4fcd3d44 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/Sjms2ToDSendDynamicTest.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/producer/Sjms2ToDSendDynamicTest.java
@@ -16,14 +16,22 @@
*/
package org.apache.camel.component.sjms2.producer;
+import jakarta.jms.ConnectionFactory;
+
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.sjms2.support.Jms2TestSupport;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class Sjms2ToDSendDynamicTest extends Jms2TestSupport {
+ @RegisterExtension
+ public static ArtemisService service = ArtemisServiceFactory.createTCPAllProtocolsService();
+
@Test
public void testToD() {
template.sendBodyAndHeader("direct:start", "Hello bar", "where", "bar");
@@ -51,4 +59,7 @@ public class Sjms2ToDSendDynamicTest extends Jms2TestSupport {
};
}
+ protected ConnectionFactory getConnectionFactory() throws Exception {
+ return getConnectionFactory(service.serviceAddress());
+ }
}
diff --git a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/support/Jms2TestSupport.java b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/support/Jms2TestSupport.java
index bfc8e859831..257e5f9b4bc 100644
--- a/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/support/Jms2TestSupport.java
+++ b/components/camel-sjms2/src/test/java/org/apache/camel/component/sjms2/support/Jms2TestSupport.java
@@ -31,20 +31,14 @@ import org.apache.camel.component.sjms.jms.DestinationCreationStrategy;
import org.apache.camel.component.sjms2.Sjms2Component;
import org.apache.camel.component.sjms2.jms.Jms2ObjectFactory;
import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.test.infra.artemis.services.ArtemisService;
-import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* A support class that builds up and tears down an ActiveMQ Artemis instance to be used for unit testing.
*/
-public class Jms2TestSupport extends CamelTestSupport {
-
- @RegisterExtension
- public ArtemisService service = ArtemisServiceFactory.createTCPAllProtocolsService();
+public abstract class Jms2TestSupport extends CamelTestSupport {
protected final Logger log = LoggerFactory.getLogger(getClass());
@@ -96,7 +90,7 @@ public class Jms2TestSupport extends CamelTestSupport {
return camelContext;
}
- protected ConnectionFactory getConnectionFactory() throws Exception {
+ protected static ConnectionFactory getConnectionFactory(String serviceAddress) throws Exception {
final String protocol = System.getProperty("protocol", "CORE").toUpperCase();
//Currently AMQP and HORENTQ don't operate in exactly the same way on artemis as OPENWIRE
@@ -104,12 +98,14 @@ public class Jms2TestSupport extends CamelTestSupport {
//of artemis we may be able test against them in an agnostic way.
switch (protocol) {
case "OPENWIRE":
- return new ActiveMQConnectionFactory(service.serviceAddress());
+ return new ActiveMQConnectionFactory(serviceAddress);
default:
- return ActiveMQJMSClient.createConnectionFactory(service.serviceAddress(), "test");
+ return ActiveMQJMSClient.createConnectionFactory(serviceAddress, "test");
}
}
+ protected abstract ConnectionFactory getConnectionFactory() throws Exception;
+
public void setSession(Session session) {
this.session = session;
}
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java
index f1ad9fa3235..fe079daacb3 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java
@@ -36,11 +36,11 @@ import org.junit.jupiter.api.extension.RegisterExtension;
public abstract class StompBaseTest extends CamelTestSupport {
protected int numberOfMessages = 100;
- int sslServicePort = AvailablePortFinder.getNextAvailable();
- int servicePort = AvailablePortFinder.getNextAvailable();
+ static int sslServicePort = AvailablePortFinder.getNextAvailable();
+ static int servicePort = AvailablePortFinder.getNextAvailable();
@RegisterExtension
- public ArtemisService service = new ArtemisEmbeddedServiceBuilder()
+ public static ArtemisService service = new ArtemisEmbeddedServiceBuilder()
.withCustomConfiguration(configuration -> {
try {
configuration.setJMXManagementEnabled(true);
diff --git a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisService.java b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisService.java
index 6de555cf90f..3782a50ecaa 100644
--- a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisService.java
+++ b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisService.java
@@ -20,11 +20,11 @@ import org.apache.activemq.artemis.core.server.QueueQueryResult;
import org.apache.camel.test.infra.artemis.common.ArtemisProperties;
import org.apache.camel.test.infra.common.services.TestService;
import org.apache.camel.test.infra.common.services.TestServiceUtil;
-import org.junit.jupiter.api.extension.AfterEachCallback;
-import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.AfterAllCallback;
+import org.junit.jupiter.api.extension.BeforeAllCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
-public interface ArtemisService extends BeforeEachCallback, AfterEachCallback, TestService {
+public interface ArtemisService extends AfterAllCallback, BeforeAllCallback, TestService {
String serviceAddress();
@@ -43,12 +43,12 @@ public interface ArtemisService extends BeforeEachCallback, AfterEachCallback, T
}
@Override
- default void afterEach(ExtensionContext extensionContext) throws Exception {
+ default void afterAll(ExtensionContext extensionContext) throws Exception {
TestServiceUtil.tryShutdown(this, extensionContext);
}
@Override
- default void beforeEach(ExtensionContext extensionContext) throws Exception {
+ default void beforeAll(ExtensionContext extensionContext) throws Exception {
TestServiceUtil.tryInitialize(this, extensionContext);
}
diff --git a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisServiceFactory.java b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisServiceFactory.java
index 3c4675d3189..9fdc3c9ffd4 100644
--- a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisServiceFactory.java
+++ b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisServiceFactory.java
@@ -74,12 +74,12 @@ public final class ArtemisServiceFactory {
}
@Override
- public void afterEach(ExtensionContext extensionContext) {
+ public void afterAll(ExtensionContext extensionContext) {
// NO-OP
}
@Override
- public void beforeEach(ExtensionContext extensionContext) {
+ public void beforeAll(ExtensionContext extensionContext) {
addToStore(extensionContext);
}
}