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 9daa7f606df6249fd1ac86c5cca857fe5f31355e Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Thu Aug 4 14:56:34 2022 +0200 CAMEL-18347: fix ArangoDB services in test infra not being singleton --- .../arangodb/services/ArangoDBServiceFactory.java | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDBServiceFactory.java b/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDBServiceFactory.java index 2233912f73a..38fba488ee2 100644 --- a/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDBServiceFactory.java +++ b/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDBServiceFactory.java @@ -47,6 +47,9 @@ public final class ArangoDBServiceFactory { } } + private static SimpleTestServiceBuilder<ArangoDBService> instance; + private static ArangoDBService arangoDBService; + private ArangoDBServiceFactory() { } @@ -63,9 +66,19 @@ public final class ArangoDBServiceFactory { } public static ArangoDBService createSingletonService() { - return builder() - .addLocalMapping(() -> new SingletonArangoDBService(new ArangoDBLocalContainerService(), "arangoDB")) - .addRemoteMapping(ArangoDBRemoteService::new) - .build(); + if (arangoDBService == null) { + + if (instance == null) { + instance = builder(); + + instance.addLocalMapping(() -> new SingletonArangoDBService(new ArangoDBLocalContainerService(), "arangoDB")) + .addRemoteMapping(ArangoDBRemoteService::new) + .build(); + } + + arangoDBService = instance.build(); + } + + return arangoDBService; } }