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/06 18:16:05 UTC
(camel) 02/08: CAMEL-20479: use a semi-random directory for the broker instance
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 aec00edea8205aa31d44d3ebbe31040c8a2478d4
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Wed Mar 6 09:18:49 2024 +0100
CAMEL-20479: use a semi-random directory for the broker instance
---
.../services/AbstractArtemisEmbeddedService.java | 28 +++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java
index 9e3bb4dd4e0..740f242752b 100644
--- a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java
+++ b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java
@@ -17,6 +17,7 @@
package org.apache.camel.test.infra.artemis.services;
import java.io.File;
+import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.LongAdder;
import java.util.function.Consumer;
@@ -70,7 +71,10 @@ public abstract class AbstractArtemisEmbeddedService implements ArtemisService,
// Base configuration
artemisConfiguration.setSecurityEnabled(false);
- artemisConfiguration.setBrokerInstance(new File("target", "artemis-" + brokerId));
+
+ final File instanceDir = createInstance(brokerId);
+
+ artemisConfiguration.setBrokerInstance(instanceDir);
artemisConfiguration.setJMXManagementEnabled(false);
artemisConfiguration.setMaxDiskUsage(98);
@@ -82,6 +86,28 @@ public abstract class AbstractArtemisEmbeddedService implements ArtemisService,
return config;
}
+ private static File createInstance(int brokerId) {
+ File instanceDir = null;
+ final File target = new File("target");
+ final File brokerDir = new File(target, "artemis");
+ do {
+ final String subPath = getRandomSubPath();
+
+ instanceDir = new File(brokerDir, brokerId + "-" + subPath);
+ } while (instanceDir.exists());
+
+ return instanceDir;
+ }
+
+ private static String getRandomSubPath() {
+ final int size = 12;
+
+ return ThreadLocalRandom.current().ints(97, 122)
+ .limit(size)
+ .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
+ .toString();
+ }
+
protected abstract Configuration configure(Configuration artemisConfiguration, int port, int brokerId);
public void customConfiguration(Consumer<Configuration> configurator) {