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 947d2ef9b545e05082be8b42b837a61842255cb5 Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Mon Jul 17 15:21:34 2023 +0200 CAMEL-19609: fixed a cyclic dependency issue with camel-test-infra-hdfs --- .../camel/component/hdfs/integration/HdfsAppendIT.java | 3 ++- .../hdfs/integration/HdfsConsumerIntegrationIT.java | 3 ++- .../integration/HdfsProducerConsumerIntegrationIT.java | 3 ++- test-infra/camel-test-infra-hdfs/pom.xml | 6 ------ .../test/infra/hdfs/v2/services/EmbeddedHDFSService.java | 4 ++-- .../camel/test/infra/hdfs/v2/services/HDFSContainer.java | 7 +++++-- .../test/infra/hdfs/v2/services/HDFSServiceFactory.java | 15 +++++++-------- 7 files changed, 20 insertions(+), 21 deletions(-) diff --git a/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsAppendIT.java b/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsAppendIT.java index c75b7a3f916..e2770f8d127 100644 --- a/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsAppendIT.java +++ b/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsAppendIT.java @@ -20,6 +20,7 @@ import java.nio.charset.StandardCharsets; import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.infra.hdfs.v2.services.HDFSService; import org.apache.camel.test.infra.hdfs.v2.services.HDFSServiceFactory; import org.apache.camel.test.junit5.CamelTestSupport; @@ -40,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; public class HdfsAppendIT extends CamelTestSupport { @RegisterExtension - public static HDFSService service = HDFSServiceFactory.createSingletonService(); + public static HDFSService service = HDFSServiceFactory.createSingletonService(AvailablePortFinder.getNextAvailable()); private static final Logger LOG = LoggerFactory.getLogger(HdfsAppendIT.class); diff --git a/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsConsumerIntegrationIT.java b/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsConsumerIntegrationIT.java index 6ca0840873a..770fc8acbf2 100644 --- a/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsConsumerIntegrationIT.java +++ b/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsConsumerIntegrationIT.java @@ -30,6 +30,7 @@ import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.support.DefaultScheduledPollConsumerScheduler; +import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.infra.hdfs.v2.services.HDFSService; import org.apache.camel.test.infra.hdfs.v2.services.HDFSServiceFactory; import org.apache.camel.test.junit5.CamelTestSupport; @@ -58,7 +59,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class HdfsConsumerIntegrationIT extends CamelTestSupport { @RegisterExtension - public static HDFSService service = HDFSServiceFactory.createSingletonService(); + public static HDFSService service = HDFSServiceFactory.createSingletonService(AvailablePortFinder.getNextAvailable()); private static final int ITERATIONS = 200; diff --git a/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsProducerConsumerIntegrationIT.java b/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsProducerConsumerIntegrationIT.java index 3c24cdf0c58..8ff7f86b3c7 100644 --- a/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsProducerConsumerIntegrationIT.java +++ b/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/integration/HdfsProducerConsumerIntegrationIT.java @@ -26,6 +26,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.infra.hdfs.v2.services.HDFSService; import org.apache.camel.test.infra.hdfs.v2.services.HDFSServiceFactory; import org.apache.camel.test.junit5.CamelTestSupport; @@ -42,7 +43,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class HdfsProducerConsumerIntegrationIT extends CamelTestSupport { @RegisterExtension - public static HDFSService service = HDFSServiceFactory.createSingletonService(); + public static HDFSService service = HDFSServiceFactory.createSingletonService(AvailablePortFinder.getNextAvailable()); private static final int ITERATIONS = 400; diff --git a/test-infra/camel-test-infra-hdfs/pom.xml b/test-infra/camel-test-infra-hdfs/pom.xml index 98f6eb14b85..0061c0a6831 100644 --- a/test-infra/camel-test-infra-hdfs/pom.xml +++ b/test-infra/camel-test-infra-hdfs/pom.xml @@ -38,12 +38,6 @@ <type>test-jar</type> </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-test-junit5</artifactId> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minicluster</artifactId> diff --git a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/EmbeddedHDFSService.java b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/EmbeddedHDFSService.java index b6d81275b0c..75dc0bbb497 100644 --- a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/EmbeddedHDFSService.java +++ b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/EmbeddedHDFSService.java @@ -24,8 +24,8 @@ public class EmbeddedHDFSService implements HDFSService { private static final Logger LOG = LoggerFactory.getLogger(EmbeddedHDFSService.class); private final HDFSContainer container; - public EmbeddedHDFSService() { - container = new HDFSContainer(); + public EmbeddedHDFSService(int port) { + container = new HDFSContainer(port); } @Override diff --git a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSContainer.java b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSContainer.java index a5d5091786a..ed3d13ab2e6 100644 --- a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSContainer.java +++ b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSContainer.java @@ -16,7 +16,6 @@ */ package org.apache.camel.test.infra.hdfs.v2.services; -import org.apache.camel.test.AvailablePortFinder; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdfs.MiniDFSCluster; import org.slf4j.Logger; @@ -25,15 +24,19 @@ import org.slf4j.LoggerFactory; public class HDFSContainer { private static final Logger LOG = LoggerFactory.getLogger(HDFSContainer.class); + private final int port; private MiniDFSCluster cluster; + public HDFSContainer(int port) { + this.port = port; + } public void start() { try { Configuration conf = new Configuration(); conf.set("dfs.namenode.fs-limits.max-directory-items", "1048576"); cluster = new MiniDFSCluster.Builder(conf) - .nameNodePort(AvailablePortFinder.getNextAvailable()) + .nameNodePort(port) .numDataNodes(3) .format(true) .build(); diff --git a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSServiceFactory.java b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSServiceFactory.java index 0433b19ce2f..db0e202a047 100644 --- a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSServiceFactory.java +++ b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HDFSServiceFactory.java @@ -38,6 +38,8 @@ public final class HDFSServiceFactory { } } + private static HDFSService INSTANCE; + private HDFSServiceFactory() { } @@ -46,16 +48,13 @@ public final class HDFSServiceFactory { return new SimpleTestServiceBuilder<>("hdfs"); } - public static HDFSService createSingletonService() { - return SingletonServiceHolder.INSTANCE; - } - - private static class SingletonServiceHolder { - static final HDFSService INSTANCE; - static { + public static HDFSService createSingletonService(int port) { + if (INSTANCE == null) { SimpleTestServiceBuilder<HDFSService> instance = builder(); - instance.addLocalMapping(() -> new SingletonHDFSService(new EmbeddedHDFSService(), "hdfs")); + instance.addLocalMapping(() -> new SingletonHDFSService(new EmbeddedHDFSService(port), "hdfs")); INSTANCE = instance.build(); } + + return INSTANCE; } }