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 2022/08/04 14:19:02 UTC
[camel] 01/04: CAMEL-18347: fix ArangoDB services in test infra not being singleton
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 <an...@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;
}
}