diff --git a/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyConfig.java b/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyDiscoveryServiceConfig.java
similarity index 98%
rename from basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyConfig.java
rename to basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyDiscoveryServiceConfig.java
index 3218c960e..df8b9c71e 100644
--- a/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyConfig.java
+++ b/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyDiscoveryServiceConfig.java
@@ -42,7 +42,7 @@
*
*/
@Configuration
-public class DummyConfig {
+public class DummyDiscoveryServiceConfig {
private final String COLLECTION = "discoveryServiceHTTPTestCollection";
diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/Dockerfile b/basyx.aasenvironment/basyx.aasenvironment.component/Dockerfile
index 556832735..1c3e9648d 100644
--- a/basyx.aasenvironment/basyx.aasenvironment.component/Dockerfile
+++ b/basyx.aasenvironment/basyx.aasenvironment.component/Dockerfile
@@ -5,5 +5,7 @@ ARG JAR_FILE=target/*-exec.jar
COPY ${JAR_FILE} basyxExecutable.jar
COPY src/main/resources/application.properties application.properties
ARG PORT=8081
-EXPOSE ${PORT}
+ENV SERVER_PORT=${PORT}
+EXPOSE ${SERVER_PORT}
+HEALTHCHECK --interval=30s --timeout=3s --retries=3 --start-period=15s CMD curl --fail http://localhost:${SERVER_PORT}/actuator/health || exit 1
ENTRYPOINT ["java","-jar","basyxExecutable.jar"]
diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml b/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml
index 83f0a61ed..5ff190487 100644
--- a/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml
+++ b/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml
@@ -16,17 +16,42 @@
+
org.eclipse.digitaltwin.basyx
basyx.aasrepository.component
+ tests
+ test
+
+
+ org.eclipse.digitaltwin.basyx
+ basyx.aasrepository-tck
+ tests
+ test
org.eclipse.digitaltwin.basyx
basyx.submodelrepository.component
+ tests
+ test
+
+ org.eclipse.digitaltwin.basyx
+ basyx.submodelrepository-tck
+ tests
+ test
+
+
+ org.eclipse.digitaltwin.basyx
+ basyx.conceptdescriptionrepository-tck
+ tests
+ test
+
org.eclipse.digitaltwin.basyx
basyx.conceptdescriptionrepository.component
+ tests
+ test
org.eclipse.digitaltwin.basyx
@@ -40,12 +65,12 @@
org.eclipse.digitaltwin.basyx
basyx.http
-
+
org.eclipse.digitaltwin.basyx
basyx.submodelservice-core
tests
test
-
+
org.eclipse.digitaltwin.basyx
basyx.http
@@ -158,6 +183,10 @@
io.fabric8
docker-maven-plugin
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+
diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/AASEnvironmentIT.java b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/AASEnvironmentIT.java
new file mode 100644
index 000000000..f11ae0af1
--- /dev/null
+++ b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/AASEnvironmentIT.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+* Copyright (C) 2023 the Eclipse BaSyx Authors
+*
+* Permission is hereby granted, free of charge, to any person obtaining
+* a copy of this software and associated documentation files (the
+* "Software"), to deal in the Software without restriction, including
+* without limitation the rights to use, copy, modify, merge, publish,
+* distribute, sublicense, and/or sell copies of the Software, and to
+* permit persons to whom the Software is furnished to do so, subject to
+* the following conditions:
+*
+* The above copyright notice and this permission notice shall be
+* included in all copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
+* SPDX-License-Identifier: MIT
+******************************************************************************/
+
+package org.eclipse.digitaltwin.basyx.aasenvironment.component;
+
+import org.eclipse.digitaltwin.basyx.aasrepository.component.AASRepositoryIT;
+import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.component.ConceptDescriptionRepositoryIT;
+import org.eclipse.digitaltwin.basyx.submodelrepository.component.SubmodelRepositoryIT;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * Integration test using the Integration tests from AASRepository,
+ * SubmodelRepository and ConceptDescriptionRepository over the test suite
+ *
+ * @author witt
+ *
+ */
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({ AASRepositoryIT.class, SubmodelRepositoryIT.class, ConceptDescriptionRepositoryIT.class, })
+public class AASEnvironmentIT {
+
+}
diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/basyx/aasenvironment/component/TestPreconfiguration.java b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/TestPreconfiguration.java
similarity index 99%
rename from basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/basyx/aasenvironment/component/TestPreconfiguration.java
rename to basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/TestPreconfiguration.java
index 6f10c74cf..244210097 100644
--- a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/basyx/aasenvironment/component/TestPreconfiguration.java
+++ b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/TestPreconfiguration.java
@@ -23,7 +23,7 @@
* SPDX-License-Identifier: MIT
******************************************************************************/
-package basyx.aasenvironment.component;
+package org.eclipse.digitaltwin.basyx.aasenvironment.component;
import static org.junit.Assert.assertNotNull;
diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/resources/BaSyx-Logo.png b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/resources/BaSyx-Logo.png
new file mode 100644
index 000000000..da613e94c
Binary files /dev/null and b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/resources/BaSyx-Logo.png differ
diff --git a/basyx.aasrepository/basyx.aasrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/http/testconfig/DummyConfig.java b/basyx.aasrepository/basyx.aasrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/http/testconfig/DummyAasRepositoryConfig.java
similarity index 98%
rename from basyx.aasrepository/basyx.aasrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/http/testconfig/DummyConfig.java
rename to basyx.aasrepository/basyx.aasrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/http/testconfig/DummyAasRepositoryConfig.java
index c929f9730..89d995b6d 100644
--- a/basyx.aasrepository/basyx.aasrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/http/testconfig/DummyConfig.java
+++ b/basyx.aasrepository/basyx.aasrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/http/testconfig/DummyAasRepositoryConfig.java
@@ -41,7 +41,7 @@
*
*/
@Configuration
-public class DummyConfig {
+public class DummyAasRepositoryConfig {
@Bean
@ConditionalOnMissingBean
diff --git a/basyx.aasrepository/basyx.aasrepository-tck/pom.xml b/basyx.aasrepository/basyx.aasrepository-tck/pom.xml
index 2efe2b1a3..33bc401f7 100644
--- a/basyx.aasrepository/basyx.aasrepository-tck/pom.xml
+++ b/basyx.aasrepository/basyx.aasrepository-tck/pom.xml
@@ -12,29 +12,24 @@
org.eclipse.digitaltwin.basyx
basyx.aasrepository-http
- test
tests
org.eclipse.digitaltwin.basyx
basyx.http
- test
tests
org.apache.httpcomponents.client5
httpclient5
- test
commons-io
commons-io
- test
com.google.code.gson
gson
- test
\ No newline at end of file
diff --git a/basyx.aasrepository/basyx.aasrepository.component/Dockerfile b/basyx.aasrepository/basyx.aasrepository.component/Dockerfile
index fde0fba1d..1c3e9648d 100644
--- a/basyx.aasrepository/basyx.aasrepository.component/Dockerfile
+++ b/basyx.aasrepository/basyx.aasrepository.component/Dockerfile
@@ -6,5 +6,6 @@ COPY ${JAR_FILE} basyxExecutable.jar
COPY src/main/resources/application.properties application.properties
ARG PORT=8081
ENV SERVER_PORT=${PORT}
-EXPOSE ${PORT}
+EXPOSE ${SERVER_PORT}
+HEALTHCHECK --interval=30s --timeout=3s --retries=3 --start-period=15s CMD curl --fail http://localhost:${SERVER_PORT}/actuator/health || exit 1
ENTRYPOINT ["java","-jar","basyxExecutable.jar"]
diff --git a/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java b/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java
index dc502161c..cd5c065b3 100644
--- a/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java
+++ b/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java
@@ -35,6 +35,7 @@
import org.eclipse.digitaltwin.basyx.aasservice.AasServiceFactory;
import org.eclipse.digitaltwin.basyx.aasservice.feature.AasServiceFeature;
import org.eclipse.digitaltwin.basyx.aasservice.feature.DecoratedAasServiceFactory;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@@ -49,6 +50,7 @@
@Configuration
public class AasRepositoryConfiguration {
@Bean
+ @ConditionalOnMissingBean
public static AasRepository getAasRepository(AasRepositoryFactory aasRepositoryFactory, List features) {
return new DecoratedAasRepositoryFactory(aasRepositoryFactory, features).create();
}
diff --git a/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java b/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java
index 8f6510344..d2748af2c 100644
--- a/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java
+++ b/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java
@@ -9,4 +9,5 @@
*
*/
public class AASRepositoryIT extends AasRepositoryTestDefinedURL {
+
}
diff --git a/basyx.aasxfileserver/basyx.aasxfileserver.component/Dockerfile b/basyx.aasxfileserver/basyx.aasxfileserver.component/Dockerfile
index 966763375..61c48a0f4 100644
--- a/basyx.aasxfileserver/basyx.aasxfileserver.component/Dockerfile
+++ b/basyx.aasxfileserver/basyx.aasxfileserver.component/Dockerfile
@@ -4,4 +4,8 @@ WORKDIR /application
ARG JAR_FILE=target/*-exec.jar
COPY ${JAR_FILE} basyxExecutable.jar
COPY src/main/resources/application.properties application.properties
+ARG PORT=8081
+ENV PORT=${PORT}
+EXPOSE ${PORT}
+HEALTHCHECK --interval=30s --timeout=3s --retries=3 --start-period=15s CMD curl --fail http://localhost:${PORT}/actuator/health || exit 1
ENTRYPOINT ["java","-jar","basyxExecutable.jar"]
diff --git a/basyx.aasxfileserver/basyx.aasxfileserver.component/src/main/resources/application.properties b/basyx.aasxfileserver/basyx.aasxfileserver.component/src/main/resources/application.properties
index fa6177ab7..761a94b3d 100644
--- a/basyx.aasxfileserver/basyx.aasxfileserver.component/src/main/resources/application.properties
+++ b/basyx.aasxfileserver/basyx.aasxfileserver.component/src/main/resources/application.properties
@@ -16,7 +16,7 @@ basyx.backend = InMemory
#spring.data.mongodb.uri=mongodb://mongoAdmin:mongoPassword@localhost:27017/?authMechanism=DEFAULT
# Base Path for Spring Boot Actuator
-management.endpoints.web.base-path=/
+# management.endpoints.web.base-path=/
####################################################################################
# Cross-Site Resource Sharing (CORS);
diff --git a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConfig.java b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConceptDescriptionRepositoryConfig.java
similarity index 97%
rename from basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConfig.java
rename to basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConceptDescriptionRepositoryConfig.java
index 2993c0a6a..e0b8c27b4 100644
--- a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConfig.java
+++ b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConceptDescriptionRepositoryConfig.java
@@ -38,11 +38,11 @@
*
*/
@Configuration
-public class DummyConfig {
+public class DummyConceptDescriptionRepositoryConfig {
@Bean
@ConditionalOnMissingBean
public ConceptDescriptionRepository createConceptDescriptionRepository() {
return new InMemoryConceptDescriptionRepository();
}
-}
\ No newline at end of file
+}
diff --git a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml
index 0a472d1e7..337d0a1c6 100644
--- a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml
+++ b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml
@@ -11,35 +11,29 @@
org.eclipse.digitaltwin.basyx
basyx.conceptdescriptionrepository-http
- test
tests
org.eclipse.digitaltwin.basyx
basyx.conceptdescriptionrepository-core
- test
tests
org.eclipse.digitaltwin.basyx
basyx.http
- test
tests
org.apache.httpcomponents.client5
httpclient5
- test
commons-io
commons-io
- test
com.google.code.gson
gson
- test
\ No newline at end of file
diff --git a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/Dockerfile b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/Dockerfile
index fde0fba1d..685afc783 100644
--- a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/Dockerfile
+++ b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/Dockerfile
@@ -7,4 +7,5 @@ COPY src/main/resources/application.properties application.properties
ARG PORT=8081
ENV SERVER_PORT=${PORT}
EXPOSE ${PORT}
+HEALTHCHECK --interval=30s --timeout=3s --retries=3 --start-period=30s CMD curl --fail http://localhost:${SERVER_PORT}/actuator/health || exit 1
ENTRYPOINT ["java","-jar","basyxExecutable.jar"]
diff --git a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java
index 51202a1ae..733320b35 100644
--- a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java
+++ b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java
@@ -31,12 +31,14 @@
import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.ConceptDescriptionRepositoryFactory;
import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.feature.ConceptDescriptionRepositoryFeature;
import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.feature.DecoratedConceptDescriptionRepositoryFactory;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
- * Provides the spring bean configuration for the {@link ConceptDescriptionRepository}
- * utilizing all found features for the respective services
+ * Provides the spring bean configuration for the
+ * {@link ConceptDescriptionRepository} utilizing all found features for the
+ * respective services
*
* @author danish
*
@@ -45,8 +47,9 @@
public class ConceptDescriptionRepositoryConfiguration {
@Bean
+ @ConditionalOnMissingBean
public static ConceptDescriptionRepository getConceptDescriptionRepository(ConceptDescriptionRepositoryFactory aasRepositoryFactory, List features) {
return new DecoratedConceptDescriptionRepositoryFactory(aasRepositoryFactory, features).create();
}
-
+
}
diff --git a/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummyConfig.java b/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummySubmodelRepositoryConfig.java
similarity index 97%
rename from basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummyConfig.java
rename to basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummySubmodelRepositoryConfig.java
index 881ebf4f4..15869205e 100644
--- a/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummyConfig.java
+++ b/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummySubmodelRepositoryConfig.java
@@ -40,11 +40,11 @@
*
*/
@Configuration
-public class DummyConfig {
+public class DummySubmodelRepositoryConfig {
@Bean
@ConditionalOnMissingBean
public SubmodelRepository createSubmodelRepository() {
return new InMemorySubmodelRepository(new InMemorySubmodelServiceFactory());
}
-}
\ No newline at end of file
+}
diff --git a/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml b/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml
index 63d277488..1d6cc22f0 100644
--- a/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml
+++ b/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml
@@ -12,39 +12,32 @@
org.eclipse.digitaltwin.basyx
basyx.submodelservice-http
tests
- test
org.eclipse.digitaltwin.basyx
basyx.submodelrepository-http
tests
- test
org.eclipse.digitaltwin.basyx
basyx.http
tests
- test
org.apache.httpcomponents.client5
httpclient5
- test
commons-io
commons-io
- test
com.google.code.gson
gson
- test
org.eclipse.digitaltwin.basyx
basyx.submodelservice-http
- test
tests
diff --git a/basyx.submodelrepository/basyx.submodelrepository.component/Dockerfile b/basyx.submodelrepository/basyx.submodelrepository.component/Dockerfile
index fde0fba1d..c6f045a36 100644
--- a/basyx.submodelrepository/basyx.submodelrepository.component/Dockerfile
+++ b/basyx.submodelrepository/basyx.submodelrepository.component/Dockerfile
@@ -6,5 +6,6 @@ COPY ${JAR_FILE} basyxExecutable.jar
COPY src/main/resources/application.properties application.properties
ARG PORT=8081
ENV SERVER_PORT=${PORT}
-EXPOSE ${PORT}
+EXPOSE ${SERVER_PORT}
+HEALTHCHECK --interval=30s --timeout=3s --retries=3 --start-period=15s CMD curl --fail http://localhost:${PORT}/actuator/health || exit 1
ENTRYPOINT ["java","-jar","basyxExecutable.jar"]
diff --git a/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java b/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java
index 3b2332fbf..452be932c 100644
--- a/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java
+++ b/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java
@@ -35,6 +35,7 @@
import org.eclipse.digitaltwin.basyx.submodelservice.SubmodelServiceFactory;
import org.eclipse.digitaltwin.basyx.submodelservice.feature.DecoratedSubmodelServiceFactory;
import org.eclipse.digitaltwin.basyx.submodelservice.feature.SubmodelServiceFeature;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@@ -50,15 +51,14 @@
@Configuration
public class SubmodelRepositoryConfiguration {
@Bean
- public SubmodelRepository getSubmodelRepository(SubmodelRepositoryFactory aasRepositoryFactory,
- List features) {
+ @ConditionalOnMissingBean
+ public SubmodelRepository getSubmodelRepository(SubmodelRepositoryFactory aasRepositoryFactory, List features) {
return new DecoratedSubmodelRepositoryFactory(aasRepositoryFactory, features).create();
}
@Primary
@Bean
- public SubmodelServiceFactory getSubmodelServiceFactory(SubmodelServiceFactory aasServiceFactory,
- List features) {
+ public SubmodelServiceFactory getSubmodelServiceFactory(SubmodelServiceFactory aasServiceFactory, List features) {
return new DecoratedSubmodelServiceFactory(aasServiceFactory, features);
}
}
diff --git a/basyx.submodelservice/basyx.submodelservice.component/src/main/resources/application.properties b/basyx.submodelservice/basyx.submodelservice.component/src/main/resources/application.properties
index f54a46d21..8d08ffc30 100644
--- a/basyx.submodelservice/basyx.submodelservice.component/src/main/resources/application.properties
+++ b/basyx.submodelservice/basyx.submodelservice.component/src/main/resources/application.properties
@@ -3,7 +3,7 @@ server.port=8081
spring.application.name=Submodel Service
# Base Path for Spring Boot Actuator
-management.endpoints.web.base-path=/
+# management.endpoints.web.base-path=/
####################################################################################
# Cross-Site Resource Sharing (CORS);
diff --git a/examples/cd-repo.properties b/examples/cd-repo.properties
index da620a909..290ea3054 100644
--- a/examples/cd-repo.properties
+++ b/examples/cd-repo.properties
@@ -13,4 +13,4 @@ spring.data.mongodb.username=mongoAdmin
spring.data.mongodb.password=mongoPassword
# Base Path for Spring Boot Actuator
-management.endpoints.web.base-path=/
\ No newline at end of file
+# management.endpoints.web.base-path=/
\ No newline at end of file