diff --git a/SAMO-Interface/.gitignore b/SAMO-Interface/.gitignore
index cdc2bb7b6664579a457fe2c89da893d112f71fa1..a59a390e8b4226ad7e950d68931515fc9e87425a 100644
--- a/SAMO-Interface/.gitignore
+++ b/SAMO-Interface/.gitignore
@@ -4,6 +4,7 @@ target/
 !.mvn/wrapper/maven-wrapper.jar
 !**/src/main/**
 !**/src/test/**
+.env.*
 
 ### STS ###
 .apt_generated
diff --git a/SAMO-Interface/pom.xml b/SAMO-Interface/pom.xml
index 9aa578742cf07e681d6b7eaf427d64e1fe6101e0..9742accba22704209511606628096e0c17b442f5 100644
--- a/SAMO-Interface/pom.xml
+++ b/SAMO-Interface/pom.xml
@@ -25,22 +25,22 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.2.12</version>
+        <version>3.4.3</version>
 		<relativePath/> <!-- lookup parent from repository -->
 	</parent>
 	<properties>
 		<java.version>21</java.version>
 		<maven.test.skip>false</maven.test.skip>
 
-		<spring-cloud.version>2023.0.0</spring-cloud.version>
+		<spring-cloud.version>2024.0.0</spring-cloud.version>
 		<powerMockReflect.version>2.0.9</powerMockReflect.version>
 		<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
 		<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<openfeign.version>4.2.0-RC1</openfeign.version>
-		<rabbitmq.version>5.20.0</rabbitmq.version>
-		<cyclonedx.version>2.9.0</cyclonedx.version>
-		<springdoc.version>2.4.0</springdoc.version>
+		<openfeign.version>4.2.0</openfeign.version>
+		<rabbitmq.version>5.22.0</rabbitmq.version>
+        <cyclonedx.version>2.9.1</cyclonedx.version>
+        <springdoc.version>2.4.0</springdoc.version>
 	</properties>
 
 	<dependencies>
@@ -64,6 +64,13 @@
 		<dependency>
 			<groupId>org.springframework.integration</groupId>
 			<artifactId>spring-integration-sftp</artifactId>
+			<version>6.3.7</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>commons-io</artifactId>
+					<groupId>commons-io</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.batch</groupId>
@@ -112,6 +119,24 @@
 			<groupId>org.cyclonedx</groupId>
 			<artifactId>cyclonedx-maven-plugin</artifactId>
 			<version>${cyclonedx.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>maven-dependency-analyzer</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>cyclonedx-core-java</artifactId>
+					<groupId>org.cyclonedx</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-api</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-util</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.mapstruct</groupId>
@@ -171,6 +196,12 @@
 			<artifactId>powermock-reflect</artifactId>
 			<version>${powerMockReflect.version}</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<artifactId>objenesis</artifactId>
+					<groupId>org.objenesis</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
     </dependencies>
 
diff --git a/SARIS-Interface/.gitignore b/SARIS-Interface/.gitignore
index 6b6eb640982af7853d8fbbc870cb90bdd37b523c..88fd047160ee4db8c11dcbea3024636236f8c566 100644
--- a/SARIS-Interface/.gitignore
+++ b/SARIS-Interface/.gitignore
@@ -4,6 +4,7 @@ target/
 !.mvn/wrapper/maven-wrapper.jar
 !**/src/main/**
 !**/src/test/**
+.env.*
 
 ### STS ###
 .apt_generated
diff --git a/SARIS-Interface/pom.xml b/SARIS-Interface/pom.xml
index 217e32b868eadca5ecbcadcd47f55b4f054f3a13..cf77356f305bbb0e71408d8a868eb0cd9f094fa5 100644
--- a/SARIS-Interface/pom.xml
+++ b/SARIS-Interface/pom.xml
@@ -11,22 +11,22 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.2.12</version>
+        <version>3.4.3</version>
 		<relativePath/> <!-- lookup parent from repository -->
 	</parent>
 	<properties>
 		<java.version>21</java.version>
 		<maven.test.skip>false</maven.test.skip>
 
-		<spring-cloud.version>2023.0.0</spring-cloud.version>
+		<spring-cloud.version>2024.0.0</spring-cloud.version>
 		<powerMockReflect.version>2.0.9</powerMockReflect.version>
 		<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
 		<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<openfeign.version>4.2.0-RC1</openfeign.version>
-		<rabbitmq.version>5.20.0</rabbitmq.version>
-		<cyclonedx.version>2.9.0</cyclonedx.version>
-		<springdoc.version>2.4.0</springdoc.version>
+		<openfeign.version>4.2.0</openfeign.version>
+		<rabbitmq.version>5.22.0</rabbitmq.version>
+        <cyclonedx.version>2.9.1</cyclonedx.version>
+        <springdoc.version>2.4.0</springdoc.version>
 	</properties>
 
 	<dependencies>
@@ -129,6 +129,24 @@
 			<groupId>org.cyclonedx</groupId>
 			<artifactId>cyclonedx-maven-plugin</artifactId>
 			<version>${cyclonedx.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>maven-dependency-analyzer</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>commons-io</artifactId>
+					<groupId>commons-io</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-api</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-util</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<!-- test dependencies -->
 		<!-- spring -->
@@ -177,6 +195,12 @@
 			<artifactId>powermock-reflect</artifactId>
 			<version>${powerMockReflect.version}</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<artifactId>objenesis</artifactId>
+					<groupId>org.objenesis</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 	</dependencies>
 
diff --git a/addressImport/.gitignore b/addressImport/.gitignore
index 22921f07fb526f6c56eb2aa90c4de159b7be0094..7f3a0b67e362d8de6988a1cdd75e138dccae5ee3 100644
--- a/addressImport/.gitignore
+++ b/addressImport/.gitignore
@@ -3,6 +3,7 @@ target/
 !.mvn/wrapper/maven-wrapper.jar
 !**/src/main/**
 !**/src/test/**
+.env.*
 
 ### STS ###
 .apt_generated
diff --git a/addressImport/pom.xml b/addressImport/pom.xml
index e279222517ceb5e864887ded2d8ed3c1f725545c..dfb072f4457f659f15414054259cdc3878ce6007 100644
--- a/addressImport/pom.xml
+++ b/addressImport/pom.xml
@@ -25,25 +25,26 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.2.12</version>
+		<version>3.4.3</version>
 		<relativePath/> <!-- lookup parent from repository -->
 	</parent>
 	<properties>
 		<java.version>21</java.version>
 		<maven.test.skip>false</maven.test.skip>
 
-		<spring-cloud.version>2023.0.0</spring-cloud.version>
+		<spring-cloud.version>2024.0.0</spring-cloud.version>
 		<powerMockReflect.version>2.0.9</powerMockReflect.version>
 		<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
 		<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
+
 		<postgresql.version>42.7.3</postgresql.version>
-		<rabbitmq.version>5.20.0</rabbitmq.version>
-		<cyclonedx.version>2.9.0</cyclonedx.version>
+		<rabbitmq.version>5.22.0</rabbitmq.version>
+		<cyclonedx.version>2.9.1</cyclonedx.version>
 		<springdoc.version>2.4.0</springdoc.version>
 		<opencsv.version>5.9</opencsv.version>
 		<oracle-database.version>19.6.0.0</oracle-database.version>
-		<hibernate.version>6.3.1.Final</hibernate.version>
+		<hibernate.version>6.6.9.Final</hibernate.version>
 	</properties>
 	<dependencies>
 		<!-- spring -->
@@ -129,6 +130,12 @@
 			<groupId>org.cyclonedx</groupId>
 			<artifactId>cyclonedx-maven-plugin</artifactId>
 			<version>${cyclonedx.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>maven-dependency-analyzer</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<!-- test dependencies -->
 		<!-- spring -->
@@ -157,6 +164,12 @@
 			<artifactId>powermock-reflect</artifactId>
 			<version>${powerMockReflect.version}</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<artifactId>objenesis</artifactId>
+					<groupId>org.objenesis</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>com.h2database</groupId>
diff --git a/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/AddressImportApplication.java b/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/AddressImportApplication.java
index c389299d04aedd0c0cf630e318ce6e4329f37b83..378b1f0fd9e82084198d5d231fe4b4688cf17bd0 100644
--- a/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/AddressImportApplication.java
+++ b/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/AddressImportApplication.java
@@ -23,6 +23,6 @@ public class AddressImportApplication {
 	public static void main(String[] args) {
 		// passing through args is a security issue at sonar. As long as we don't know what for, we won't passthrough
 		// any arg
-		SpringApplication.run(AddressImportApplication.class, new String[0]);
+		SpringApplication.run(AddressImportApplication.class);
 	}
 }
diff --git a/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/config/TestConfiguration.java b/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/config/TestConfiguration.java
index afe64eca856506953dce8a2e5bb6fd47fef19493..386bc93a329e6e30fbe5e5a5847a773312c94b2c 100644
--- a/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/config/TestConfiguration.java
+++ b/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/config/TestConfiguration.java
@@ -26,16 +26,11 @@ import org.eclipse.openk.gridfailureinformation.importadresses.service.AddressIm
 import org.eclipse.openk.gridfailureinformation.importadresses.service.AddressService;
 import org.eclipse.openk.gridfailureinformation.importadresses.service.StationService;
 import org.eclipse.openk.gridfailureinformation.importadresses.util.UtmConverter;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration;
-import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 
 @EnableJpaRepositories(basePackages = "org.eclipse.openk.gridfailureinformation.importadresses")
diff --git a/deployment/dockercompose/cbd/.env b/deployment/dockercompose/cbd/.env
index 9368806cbfec7e062c8afe4e888d1b767b6ec8ae..10634c1a05910810cc102c7f4e52b2eaf2fe0ff2 100644
--- a/deployment/dockercompose/cbd/.env
+++ b/deployment/dockercompose/cbd/.env
@@ -7,4 +7,4 @@ APP_DB_ROLE=cbd_service
 APP_DB_PASSWORD=cbd_service
 APP_DBNAME=ContactBaseData
 
-KEYCLOAK_PASSWORD_TECHUSER=admin
\ No newline at end of file
+KEYCLOAK_PASSWORD_TECHUSER=admin
diff --git a/deployment/dockercompose/cbd/docker-compose.yml b/deployment/dockercompose/cbd/docker-compose.yml
index 100e2448b8b9b480ce5928b34cf765fa9adbefd0..295042279a533ec1d7332c0f07d4469486e20a59 100644
--- a/deployment/dockercompose/cbd/docker-compose.yml
+++ b/deployment/dockercompose/cbd/docker-compose.yml
@@ -1,5 +1,3 @@
-version: '3.5'
-
 services:
 
   init-postgres-service:
@@ -83,7 +81,7 @@ services:
 networks:
   openknet:
     name: openknet
-    driver: bridge
+    external: true
 
 volumes:
   postgres:
diff --git a/deployment/dockercompose/gfi-dmz/docker-compose.yml b/deployment/dockercompose/gfi-dmz/docker-compose.yml
index 6c1c8064710f23fb6c4ca4f7d342d4e9ef8fb676..54ce5b00d0d6102c754b298630ff996f5283150e 100644
--- a/deployment/dockercompose/gfi-dmz/docker-compose.yml
+++ b/deployment/dockercompose/gfi-dmz/docker-compose.yml
@@ -1,5 +1,3 @@
-version: '3.5'
-
 services:
 
 ############# Frontend #############
@@ -58,4 +56,4 @@ services:
 networks:
   openknet:
     name: openknet
-    driver: bridge
+    external: true
diff --git a/deployment/dockercompose/gfi-dmz/traefik/docker-compose.yml b/deployment/dockercompose/gfi-dmz/traefik/docker-compose.yml
index 9f09f9ceeeffea01bfaf09d92cd987e2dca68c23..300004179b2380db0dfab6f238ea82e8d631e6a3 100644
--- a/deployment/dockercompose/gfi-dmz/traefik/docker-compose.yml
+++ b/deployment/dockercompose/gfi-dmz/traefik/docker-compose.yml
@@ -1,5 +1,3 @@
-version: '3.5'
-
 services:
 
   traefik-dmz:
@@ -33,4 +31,4 @@ services:
 
 networks:
   openknet:
-    name: openknet
\ No newline at end of file
+    name: openknet
diff --git a/deployment/dockercompose/gfi/configBackend/configMain/application.yml b/deployment/dockercompose/gfi/configBackend/configMain/application.yml
index d1d375fff55331db303e1a1fb9c740f0f46c0d2b..be5ab5d34e798b30fe79b7cf384eae8079d99db5 100644
--- a/deployment/dockercompose/gfi/configBackend/configMain/application.yml
+++ b/deployment/dockercompose/gfi/configBackend/configMain/application.yml
@@ -272,7 +272,7 @@ geoJsonImport:
 
 email:
   sender: sender@test.tester
-  smtpHost: entdockergss
+  smtpHost: mailhog
   port: 1025
   isHtmlEmail: true
   isUseHtmlEmailTemplate: true
diff --git a/deployment/dockercompose/gfi/docker-compose.yml b/deployment/dockercompose/gfi/docker-compose.yml
index c9915897214e9fe4ba896182fc2a9e3caa12e9c4..b6382fc7b6180bc0a16336ad42b09f8c2ee41022 100644
--- a/deployment/dockercompose/gfi/docker-compose.yml
+++ b/deployment/dockercompose/gfi/docker-compose.yml
@@ -1,5 +1,3 @@
-version: '3.5'
-
 services:
   rabbitmq:
     image: rabbitmq:3-management-alpine
@@ -146,7 +144,7 @@ services:
 networks:
   openknet:
     name: openknet
-    driver: bridge
+    external: true
 
 volumes:
   gfidbvol:
diff --git a/deployment/dockercompose/infrastructure/db/postgresql/docker-compose.yml b/deployment/dockercompose/infrastructure/db/postgresql/docker-compose.yml
index adca77667d529c33a854b3c9ad095b2a84e25e88..55f7070bd341013ec7bc8eee18d413168efa7af1 100644
--- a/deployment/dockercompose/infrastructure/db/postgresql/docker-compose.yml
+++ b/deployment/dockercompose/infrastructure/db/postgresql/docker-compose.yml
@@ -1,10 +1,7 @@
-version: '3.5'
-
 services:
   postgres:
     container_name: postgres_container
     image: postgres:13.3
-    #postgres:9.6.22-alpine3.14
     environment:
       POSTGRES_USER: ${POSTGRES_USER:-postgres}
       POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
@@ -48,17 +45,8 @@ services:
 networks:
   openknet:
     name: openknet
-#     external: true
-
-# networks:
-#   default:
-#     name: openknet
-#     external: true
-
-# networks:
-#   default:
-#     name: openknet
+    driver: bridge
 
 volumes:
     postgres:
-    pgadmin:
\ No newline at end of file
+    pgadmin:
diff --git a/deployment/dockercompose/mailhog/docker-compose.yml b/deployment/dockercompose/mailhog/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5b792e7862beb2745a267070acde85307703e4c1
--- /dev/null
+++ b/deployment/dockercompose/mailhog/docker-compose.yml
@@ -0,0 +1,13 @@
+services:
+  mailhog:
+    image: mailhog/mailhog
+    ports:
+      - "3025:1025" # SMTP server
+      - "8025:8025" # Web UI
+    networks:
+      - openknet
+
+networks:
+  openknet:
+    name: openknet
+    external: true
diff --git a/deployment/dockercompose/portal/Dockerfile b/deployment/dockercompose/portal/Dockerfile
index 0e3bf952b017dbdd6f95c4ce0d2a921fd04d5451..f394d544a53eba964f2c3b357a358f40ca2f52cd 100644
--- a/deployment/dockercompose/portal/Dockerfile
+++ b/deployment/dockercompose/portal/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/keycloak/keycloak:22.0.1 as builder
+FROM quay.io/keycloak/keycloak:26.0 as builder
 
 ENV KC_HEALTH_ENABLED=true
 ENV KC_METRICS_ENABLED=true
@@ -17,11 +17,11 @@ WORKDIR /opt/keycloak
 
 RUN /opt/keycloak/bin/kc.sh build
 
-FROM quay.io/keycloak/keycloak:22.0.1
+FROM quay.io/keycloak/keycloak:26.0
 COPY --from=builder /opt/keycloak/ /opt/keycloak/
 
 # for demonstration purposes only, please make sure to use proper certificates in production instead
 #RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore
 
 ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]
-CMD ["start"]
\ No newline at end of file
+CMD ["start"]
diff --git a/deployment/dockercompose/portal/docker-compose.yml b/deployment/dockercompose/portal/docker-compose.yml
index 6f1dbf04edca2c4d259787690cb734b6176fe123..ca98d487f5f932018130faac65eaad2ab0307570 100644
--- a/deployment/dockercompose/portal/docker-compose.yml
+++ b/deployment/dockercompose/portal/docker-compose.yml
@@ -1,11 +1,9 @@
-version: '3.8'
-
 services:
 
 ############# Database Init #############
 
   keycloakdb-init:
-    image: postgres:9.6.22-alpine3.14
+    image: postgres:13.3
     environment:
       PGHOST: ${APP_DB_HOST}
       PGPORT: ${APP_DB_PORT}
@@ -31,7 +29,7 @@ services:
     build:
       context: .
       dockerfile: Dockerfile
-    image: keycloak-postgres:22.0.1
+    image: keycloak-postgres:26.0
     environment:
       #KC_TRANSACTION_XA_ENABLED: "false"   # Build Params
       #KC_DB: postgresql                    # Build Params
@@ -80,7 +78,7 @@ services:
         condition: service_completed_successfully
 
   init-keycloak-config:
-    image: adorsys/keycloak-config-cli:5.8.0-22.0.0
+    image: adorsys/keycloak-config-cli:6.2.1-26.0.5
     environment:
       IMPORT_VARSUBSTITUTION_ENABLED: "true"
       KEYCLOAK_PASSWORD_TECHUSER: ${KEYCLOAK_PASSWORD_TECHUSER:-admin} # This password will be set for the technical admin (subsituted in keycloak-config.json)
diff --git a/deployment/dockercompose/start_tools_compose.sh b/deployment/dockercompose/start_tools_compose.sh
index dc1e98a7ba1cd6a1216910d51384843f6a239d92..3f30dcf46677bfb380a8195b3d5dd26d3233bcf8 100644
--- a/deployment/dockercompose/start_tools_compose.sh
+++ b/deployment/dockercompose/start_tools_compose.sh
@@ -10,3 +10,8 @@ echo "portainer port: 9000"
 # dozzle
 docker-compose -f "$ROOT_DIR/infrastructure/dozzle/docker-compose.yml" up -d
 echo "dozzle port: 9999"
+
+# mailhog
+docker-compose -f "$ROOT_DIR/mailhog/docker-compose.yml" up -d
+echo "mailhog smtp port: 3025"
+echo "mailhog webui port: 8025"
diff --git a/gfsBackendService/.gitignore b/gfsBackendService/.gitignore
index 3a7ea5cf1928640f17c60c083eeda34c4fd3692b..3df4d8029cefd1f881f2e85ff8556f144756542b 100644
--- a/gfsBackendService/.gitignore
+++ b/gfsBackendService/.gitignore
@@ -4,6 +4,7 @@ target/
 !.mvn/wrapper/maven-wrapper.jar
 !**/src/main/**
 !**/src/test/**
+.env.*
 
 ### STS ###
 .apt_generated
diff --git a/gfsBackendService/pom.xml b/gfsBackendService/pom.xml
index 779042b6ea13d2d23e82cb8031caf41dd8f79ee6..67fde08719e128f4677fbd8e743161e3fe195a14 100644
--- a/gfsBackendService/pom.xml
+++ b/gfsBackendService/pom.xml
@@ -26,31 +26,52 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.2.12</version>
+		<version>3.4.3</version>
 		<relativePath/> <!-- lookup parent from repository -->
 	</parent>
 	<properties>
 		<java.version>21</java.version>
 		<maven.test.skip>false</maven.test.skip>
 
-		<spring-cloud.version>2023.0.0</spring-cloud.version>
+		<spring-cloud.version>2024.0.0</spring-cloud.version>
 		<powerMockReflect.version>2.0.9</powerMockReflect.version>
 		<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
 		<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
 		<flyway-core.version>10.13.0</flyway-core.version>
 		<postgresql.version>42.7.3</postgresql.version>
-		<openfeign.version>4.2.0-RC1</openfeign.version>
-		<keycloak-core.version>24.0.9.redhat-00001</keycloak-core.version>
-		<rabbitmq.version>5.21.0</rabbitmq.version>
-		<cyclonedx.version>2.9.0</cyclonedx.version>
+		<openfeign.version>4.2.0</openfeign.version>
+		<keycloak-core.version>26.0.8</keycloak-core.version>
+		<rabbitmq.version>5.22.0</rabbitmq.version>
+		<cyclonedx.version>2.9.1</cyclonedx.version>
 		<springdoc.version>2.4.0</springdoc.version>
+		<oracle-database.version>19.6.0.0</oracle-database.version>
+		<jakarta.mail.version>2.0.1</jakarta.mail.version>
+		<greenmail.version>2.0.1</greenmail.version>
+		<reflections.version>0.9.12</reflections.version>
+		<dependency-check-maven.version>12.1.0</dependency-check-maven.version>
+		<plexus-utils.version>4.0.2</plexus-utils.version>
+		<maven-core.version>3.9.9</maven-core.version>
+		<spring-context.version>6.2.3</spring-context.version>
+		<google-guava.version>33.2.1-jre</google-guava.version>
 	</properties>
 	<dependencies>
 		<!-- spring-->
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-amqp</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>com.rabbitmq</groupId>
+					<artifactId>amqp-client</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-context</artifactId>
+			<version>${spring-context.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
@@ -77,12 +98,40 @@
 			<artifactId>spring-integration-jpa</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>org.springframework.integration</groupId>
-			<artifactId>spring-integration-security</artifactId>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-validation</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-validation</artifactId>
+			<artifactId>spring-boot-starter-logging</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>ch.qos.logback</groupId>
+					<artifactId>logback-core</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>ch.qos.logback</groupId>
+					<artifactId>logback-classic</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core -->
+		<dependency>
+			<groupId>ch.qos.logback</groupId>
+			<artifactId>logback-core</artifactId>
+			<version>1.5.16</version>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
+		<dependency>
+			<groupId>ch.qos.logback</groupId>
+			<artifactId>logback-classic</artifactId>
+			<version>1.5.16</version>
+			<exclusions>
+				<exclusion>
+					<groupId>ch.qos.logback</groupId>
+					<artifactId>logback-core</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
@@ -159,24 +208,59 @@
 			<version>${springdoc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>com.oracle.database.jdbc</groupId>
-			<artifactId>ojdbc8</artifactId>
-			<version>19.6.0.0</version>
+			<groupId>com.google.guava</groupId>
+			<artifactId>guava</artifactId>
+			<version>${google-guava.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>error_prone_annotations</artifactId>
+					<groupId>com.google.errorprone</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>com.oracle.database.jdbc</groupId>
 			<artifactId>ucp</artifactId>
-			<version>19.6.0.0</version>
+			<version>${oracle-database.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.oracle.database.jdbc</groupId>
+			<artifactId>ojdbc8</artifactId>
+			<version>${oracle-database.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.h2database</groupId>
+			<artifactId>h2</artifactId>
+			<version>${h2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.cyclonedx</groupId>
+			<artifactId>cyclonedx-maven-plugin</artifactId>
+			<version>${cyclonedx.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>maven-dependency-analyzer</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>commons-io</artifactId>
+					<groupId>commons-io</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-util</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>com.sun.mail</groupId>
 			<artifactId>jakarta.mail</artifactId>
-			<version>2.0.1</version>
+			<version>${jakarta.mail.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>com.icegreen</groupId>
 			<artifactId>greenmail-spring</artifactId>
-			<version>2.0.1</version>
+			<version>${greenmail.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>com.rabbitmq</groupId>
@@ -184,44 +268,34 @@
 			<version>${rabbitmq.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.reflections</groupId>
-			<artifactId>reflections</artifactId>
-			<version>0.9.12</version>
-		</dependency>
-		<dependency>
-			<groupId>jakarta.inject</groupId>
-			<artifactId>jakarta.inject-api</artifactId>
-			<version>2.0.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.cyclonedx</groupId>
-			<artifactId>cyclonedx-maven-plugin</artifactId>
-			<version>${cyclonedx.version}</version>
+			<groupId>org.codehaus.plexus</groupId>
+			<artifactId>plexus-utils</artifactId>
+			<version>${plexus-utils.version}</version>
 		</dependency>
-		<!-- add test dependencies -->
+		<!-- https://mvnrepository.com/artifact/org.apache.maven/maven-core -->
 		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-test</artifactId>
-			<scope>test</scope>
+			<groupId>org.apache.maven</groupId>
+			<artifactId>maven-core</artifactId>
+			<version>${maven-core.version}</version>
 			<exclusions>
 				<exclusion>
-					<groupId>org.junit.vintage</groupId>
-					<artifactId>junit-vintage-engine</artifactId>
+					<artifactId>plexus-classworlds</artifactId>
+					<groupId>org.codehaus.plexus</groupId>
 				</exclusion>
 				<exclusion>
-					<groupId>junit</groupId>
-					<artifactId>junit</artifactId>
+					<artifactId>plexus-utils</artifactId>
+					<groupId>org.codehaus.plexus</groupId>
 				</exclusion>
 				<exclusion>
-					<groupId>com.vaadin.external.google</groupId>
-					<artifactId>android-json</artifactId>
+					<artifactId>plexus-xml</artifactId>
+					<groupId>org.codehaus.plexus</groupId>
 				</exclusion>
 			</exclusions>
 		</dependency>
+		<!-- add test dependencies -->
 		<dependency>
-			<groupId>com.h2database</groupId>
-			<artifactId>h2</artifactId>
-			<version>${h2.version}</version>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
@@ -229,25 +303,94 @@
 			<artifactId>spring-security-test</artifactId>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-context-support</artifactId>
+			<version>${spring-context.version}</version>
+			<scope>test</scope>
+		</dependency>
 		<dependency>
 			<groupId>org.powermock</groupId>
 			<artifactId>powermock-reflect</artifactId>
 			<version>${powerMockReflect.version}</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>org.objenesis</groupId>
+					<artifactId>objenesis</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
 		<dependency>
 			<groupId>org.mockito</groupId>
 			<artifactId>mockito-core</artifactId>
-			<version>5.11.0</version>
+			<version>${mockito.version}</version>
 			<scope>test</scope>
 		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.owasp/dependency-check-maven -->
+		<dependency>
+			<groupId>org.owasp</groupId>
+			<artifactId>dependency-check-maven</artifactId>
+			<version>${dependency-check-maven.version}</version>
+			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<artifactId>dependency-check-core</artifactId>
+					<groupId>org.owasp</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>bcprov-jdk18on</artifactId>
+					<groupId>org.bouncycastle</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>commons-io</artifactId>
+					<groupId>commons-io</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-artifact</artifactId>
+					<groupId>org.apache.maven</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-common-artifact-filters</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-core</artifactId>
+					<groupId>org.apache.maven</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-util</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>plexus-component-annotations</artifactId>
+					<groupId>org.codehaus.plexus</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>plexus-utils</artifactId>
+					<groupId>org.codehaus.plexus</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
 		<!-- https://mvnrepository.com/artifact/com.google.jimfs/jimfs -->
 		<dependency>
 			<groupId>com.google.jimfs</groupId>
 			<artifactId>jimfs</artifactId>
 			<version>1.3.0</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>com.google.guava</groupId>
+					<artifactId>guava</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.reflections</groupId>
+			<artifactId>reflections</artifactId>
+			<version>${reflections.version}</version>
+			<scope>test</scope>
 		</dependency>
 	</dependencies>
 
@@ -260,30 +403,6 @@
 			<snapshots><enabled>false</enabled></snapshots>
 			<releases><enabled>true</enabled></releases>
 		</repository>
-		<!-- repository for newest apache commons io and bouncy castle version -->
-		<repository>
-			<id>central</id>
-			<name>Maven Repository Central</name>
-			<url>https://repo1.maven.org/maven2/</url>
-			<snapshots><enabled>false</enabled></snapshots>
-			<releases><enabled>true</enabled></releases>
-		</repository>
-		<!-- repository for newest keycloak version -->
-		<repository>
-			<id>redhat</id>
-			<name>Maven Repository Redhat</name>
-			<url>https://maven.repository.redhat.com/ga/</url>
-			<snapshots><enabled>false</enabled></snapshots>
-			<releases><enabled>true</enabled></releases>
-		</repository>
-		<!-- repository for newest spring openfeign version -->
-		<repository>
-			<id>spring</id>
-			<name>Spring Milestone</name>
-			<url>https://repo.spring.io/milestone/</url>
-			<snapshots><enabled>false</enabled></snapshots>
-			<releases><enabled>true</enabled></releases>
-		</repository>
 	</repositories>
 
 	<dependencyManagement>
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/api/SitCacheApi.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/api/SitCacheApi.java
index 9eec4155c66d9fd83d05f201165bd6df7a3bff2d..549d841c278e12c89d0d37290ab791cd8d1492bc 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/api/SitCacheApi.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/api/SitCacheApi.java
@@ -14,7 +14,6 @@
 */
 package org.eclipse.openk.gridfailureinformation.api;
 
-
 import org.eclipse.openk.gridfailureinformation.viewmodel.ExportGridFailures;
 import org.eclipse.openk.gridfailureinformation.viewmodel.ExportSettings;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -24,10 +23,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 @FeignClient(name = "${services.sitCache.name}", url = "${services.sitCache.url}")
 public interface SitCacheApi {
     @PostMapping("/internal-sit")
-    void postPublicFailureInfos(
-            @RequestBody ExportGridFailures export);
+    void postPublicFailureInfos(@RequestBody ExportGridFailures export);
 
     @PostMapping("/fe-settings")
-    void postFeSettings(
-            @RequestBody ExportSettings feSettings);
+    void postFeSettings(@RequestBody ExportSettings feSettings);
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiProcessEnvironment.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiProcessEnvironment.java
index 2e6525268af84f16f2c78ad0072e5634cd9d64d5..765bc0be82b591b63e38f12606ecb3f203712ef0 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiProcessEnvironment.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiProcessEnvironment.java
@@ -42,7 +42,15 @@ public class GfiProcessEnvironment {
 
     private final ExportService exportService;
 
-    public GfiProcessEnvironment(FailureClassificationRepository failureClassificationRepository, FailureInformationRepository failureInformationRepository, StatusRepository statusRepository, FailureInformationService failureInformationService, FailureInformationMapper failureInformationMapper, FailureInformationPublicationChannelRepository channelRepository, ExportService exportService) {
+    public GfiProcessEnvironment(
+            FailureClassificationRepository failureClassificationRepository,
+            FailureInformationRepository failureInformationRepository,
+            StatusRepository statusRepository,
+            FailureInformationService failureInformationService,
+            FailureInformationMapper failureInformationMapper,
+            FailureInformationPublicationChannelRepository channelRepository,
+            ExportService exportService
+    ) {
         this.failureClassificationRepository = failureClassificationRepository;
         this.failureInformationRepository = failureInformationRepository;
         this.statusRepository = statusRepository;
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/ProcessHelper.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/ProcessHelper.java
index ba8bffd113d9d148a1ef47b3fb9fa8d7e2c9392e..ee6ad80400d945952d71be20e55e1987436155ce 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/ProcessHelper.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/ProcessHelper.java
@@ -71,7 +71,7 @@ public class ProcessHelper {
             throw new BadRequestException("Publishing is only possible with state 'qualified'");
         }
         TblFailureInformation tblFailureInfo = environment.getFailureInformationService().getFailureInformationRepository().findByUuid(failureInformationDto.getUuid()).orElseThrow(()-> new NotFoundException(""));
-        List<TblFailureInformationPublicationChannel>  channelList = environment.getFailureInformationService().getFailureInformationPublicationChannelRepository().findByTblFailureInformation(tblFailureInfo);
+        List<TblFailureInformationPublicationChannel> channelList = environment.getFailureInformationService().getFailureInformationPublicationChannelRepository().findByTblFailureInformation(tblFailureInfo);
         if (channelList.isEmpty()) {
             throw new BadRequestException("Publishing is only possible with at least one selected channel");
         }
@@ -81,10 +81,9 @@ public class ProcessHelper {
     public FailureInformationDto processGrid(FailureInformationDto failureInfoDto, GfiProcessState forcedState) {
         GfiProcessSubject subject = GfiProcessSubject.of(failureInfoDto, this);
 
-        if(forcedState != null) {
+        if (forcedState != null) {
             subject.setStateInDb(forcedState); // use forced state
-        }
-        else {
+        } else {
             // use state from db
             RefStatus refStatus = environment.getFailureInformationService().getRefStatus(failureInfoDto);
             subject.setStateInDb(GfiProcessState.fromValue(refStatus.getId()));
@@ -92,19 +91,18 @@ public class ProcessHelper {
         try {
             grid.recover(subject).start(subject::getStateInDb);
         } catch (ProcessException e) {
-            log.error(e.getMessage() + " -> \r\n" + Arrays.toString(e.getStackTrace()));
+            log.error("{} -> \r\n{}", e.getMessage(), Arrays.toString(e.getStackTrace()));
             throw new InternalServerErrorException(e.getMessage());
         }
 
         return subject.getFailureInformationDto();
     }
 
-
     public ProcessState getProcessStateFromStatusUuid(UUID statusUuid) {
         Optional<RefStatus> optRefStatus = environment.getStatusRepository().findByUuid(statusUuid);
-        if(optRefStatus.isEmpty()) {
-            log.error("RefStatus <"+statusUuid+"> not found in DB");
-            throw  new InternalServerErrorException("status.uuid.not.found");
+        if (optRefStatus.isEmpty()) {
+            log.error("RefStatus <{}> not found in DB", statusUuid);
+            throw new InternalServerErrorException("status.uuid.not.found");
         }
         return GfiProcessState.fromValue(optRefStatus.get().getId());
     }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/DmzExportSchedulerConfig.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/DmzExportSchedulerConfig.java
index 09ac555e66a11615ee67f04d9ff524c3b8607d7a..8f257141f66160324ecdf4d8579f804a9cf07323 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/DmzExportSchedulerConfig.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/DmzExportSchedulerConfig.java
@@ -14,32 +14,38 @@
  */
 package org.eclipse.openk.gridfailureinformation.config;
 
-import lombok.extern.log4j.Log4j2;
+import jakarta.annotation.PostConstruct;
 import org.eclipse.openk.gridfailureinformation.service.ExportService;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
-@Log4j2
 @Configuration
 @EnableScheduling
-@ConditionalOnProperty(prefix = "export-to-dmz", name = "enabled", havingValue = "true", matchIfMissing = false)
+@ConditionalOnProperty(prefix = "export-to-dmz", name = "enabled", havingValue = "true")
 public class DmzExportSchedulerConfig {
+    private static final Logger log = LoggerFactory.getLogger(DmzExportSchedulerConfig.class);
 
     private static final String SCHEDULER_NAME = "DmzExport-Scheduler";
 
     private final ExportService exportService;
 
-    @Value("${export-to-dmz.cron}")
-    private String cronExpression;
+    @Value("${export-to-dmz.enabled}")
+    private Boolean isEnabled;
 
     public DmzExportSchedulerConfig(ExportService exportService) {
         this.exportService = exportService;
     }
 
+    @PostConstruct
+    public void init() {
+        log.debug("{} enabled: {}", SCHEDULER_NAME, isEnabled);
+    }
+
     @Scheduled(cron = "${export-to-dmz.cron}")
     public void scheduleTaskDmzExport() {
         log.trace("Executing" + SCHEDULER_NAME + " task: Exporting FailureInformations with Status 'published' to DMZ" );
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/RestTemplateConfig.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/RestTemplateConfig.java
index 9565b19f9bdd9a88a5b45e5e7e090369f056e191..0871b6e9f0fb34f77c8160c16f9751823712eb71 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/RestTemplateConfig.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/RestTemplateConfig.java
@@ -1,8 +1,8 @@
 package org.eclipse.openk.gridfailureinformation.config;
 
-import org.springframework.boot.web.client.RestTemplateBuilder;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.web.client.RestTemplate;
 
 import java.time.Duration;
@@ -11,12 +11,12 @@ import java.time.Duration;
 public class RestTemplateConfig {
 
     @Bean
-    public RestTemplate restTemplate(RestTemplateBuilder builder) {
+    public RestTemplate restTemplate() {
+        var httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
+        httpRequestFactory.setConnectTimeout(Duration.ofMillis(3000));
+        httpRequestFactory.setReadTimeout(Duration.ofMillis(3000));
 
-        return builder
-                .setConnectTimeout(Duration.ofMillis(3000))
-                .setReadTimeout(Duration.ofMillis(3000))
-                .build();
+        return new RestTemplate(httpRequestFactory);
     }
 }
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/Email.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/Email.java
index 981e9160696ab3080bfef57dc8e704f3a33b0a6f..6970c5893077511b6050c030e304c358f9ab2c91 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/Email.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/Email.java
@@ -76,7 +76,7 @@ public class Email {
     try {
       boolean validRecipient = validateEmailAddress(emailSender);
       if (!validRecipient) {
-        log.error("Invalid email-addresse for sender: " + emailSender);
+        log.error("Invalid email-address for sender: {}", emailSender);
         throw new MessagingException();
       }
       message.setFrom(new InternetAddress(emailSender));
@@ -127,7 +127,7 @@ public class Email {
   private void validateEmailAddress(String[] recipientsSplit) throws MessagingException {
     for (String recipient : recipientsSplit) {
       if (!validateEmailAddress(recipient.trim())) {
-        log.error("Invalid email-addresse: " + recipient);
+        log.error("Invalid email-address: {}", recipient);
         //throw new MessagingException();
       }
     }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/GfiEmail.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/GfiEmail.java
index 016f003acd6ddec01d042d52dba75d25fc06b62b..753ffafd9780a9a20ee4209c0780fdff048239bf 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/GfiEmail.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/email/GfiEmail.java
@@ -35,7 +35,7 @@ public class GfiEmail {
         log.debug("loading email content");
         this.emailBody = textBody;
         this.subject = subject == null ? "- kein Betreff -" : subject;
-        log.debug("finsished loading email content");
+        log.debug("finished loading email content");
     }
 
     private void prepareMailToSend() throws MessagingException {
@@ -52,13 +52,13 @@ public class GfiEmail {
             prepareMailToSend();
             boolean ret = email.send();
             if (ret) {
-                log.info("Email with subject: " + email.getMessage().getSubject() + " has been sent successfully sent to smtpserver");
+                log.info("Email with subject: {} has been sent successfully sent to smtp-server", email.getMessage().getSubject());
             } else {
-                log.error("Some error occured while sending email to smtpserver with subject: " + email.getMessage().getSubject() + " . Email wasn't sent.");
+                log.error("Some error occurred while sending email to smtp-server with subject: {} - Email wasn't sent.", email.getMessage().getSubject());
                 throw new MessagingException();
             }
         } catch (MessagingException e) {
-            log.error("Error occured in sendEmail", e);
+            log.error("Error occurred in sendEmail", e);
             throw e;
         }
     }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java
index 41eb1bd84af50db23ac4f494bda4eaf97f433c60..a5b9120620e5dad9c7c6702d971243872a6f4cf7 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java
@@ -28,5 +28,5 @@ public interface FailureInformationDistributionGroupRepository extends JpaReposi
     Optional<TblFailureInformationDistributionGroup> findByFailureInformationIdAndDistributionGroupId(Long failureInfoId, Long groupId);
     void deleteByFailureInformationId(Long id);
 
-    List<TblFailureInformationDistributionGroup> findByFailureInformationId( Long failureInformationId);
+    List<TblFailureInformationDistributionGroup> findByFailureInformationId(Long failureInformationId);
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationRepository.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationRepository.java
index d05d38fbf6c0123366fae9509f58fc4529d206c3..cea6113e9ecf246e80f5b6eace976d03eb8adb2c 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationRepository.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationRepository.java
@@ -21,7 +21,6 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.CrudRepository;
-import org.springframework.data.repository.PagingAndSortingRepository;
 import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionGroupService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionGroupService.java
index 10921d25056342f9f13682719eef4cd89c3bef15..a1434cc2fa6370a8a60cb62209b1637a7463f82b 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionGroupService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionGroupService.java
@@ -25,7 +25,6 @@ import org.eclipse.openk.gridfailureinformation.repository.DistributionGroupMemb
 import org.eclipse.openk.gridfailureinformation.repository.DistributionGroupRepository;
 import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionGroupAllowedDto;
 import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionGroupDto;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -43,14 +42,16 @@ public class DistributionGroupService {
 
     private final DistributionGroupMemberRepository distributionGroupMemberRepository;
 
-    private final DistributionGroupAllowedRepository allowedRepo;
-
-    public DistributionGroupService(DistributionGroupRepository distributionGroupRepository, DistributionGroupAllowedRepository distributionGroupAllowedRepository, DistributionGroupMapper distributionGroupMapper, DistributionGroupMemberRepository distributionGroupMemberRepository, DistributionGroupAllowedRepository allowedRepo) {
+    public DistributionGroupService(
+            DistributionGroupRepository distributionGroupRepository,
+            DistributionGroupAllowedRepository distributionGroupAllowedRepository,
+            DistributionGroupMapper distributionGroupMapper,
+            DistributionGroupMemberRepository distributionGroupMemberRepository
+    ) {
         this.distributionGroupRepository = distributionGroupRepository;
         this.distributionGroupAllowedRepository = distributionGroupAllowedRepository;
         this.distributionGroupMapper = distributionGroupMapper;
         this.distributionGroupMemberRepository = distributionGroupMemberRepository;
-        this.allowedRepo = allowedRepo;
     }
 
     public List<DistributionGroupDto> getDistributionGroups() {
@@ -126,17 +127,17 @@ public class DistributionGroupService {
 
             if (dto.isDeleted()) {
 
-                allowedRepo.deleteById(dto.getId());
+                distributionGroupAllowedRepository.deleteById(dto.getId());
                 continue;
             }
 
-            TblDistributionGroupAllowed group = allowedRepo.findById(dto.getId()).orElse(new TblDistributionGroupAllowed());
+            TblDistributionGroupAllowed group = distributionGroupAllowedRepository.findById(dto.getId()).orElse(new TblDistributionGroupAllowed());
 
             group.setDistributionGroupId(groupId);
             group.setAutoSet(dto.isAutoSet());
             group.setClassificationId(dto.getClassificationId());
             group.setBranchId(dto.getBranchId());
-            allowedRepo.save(group);
+            distributionGroupAllowedRepository.save(group);
         }
     }
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java
index 76ec932614e71912c03f3acb5d01fa51229cffb0..014e43a30e1981f135a59267a1b279d23e902ee8 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java
@@ -17,7 +17,6 @@ package org.eclipse.openk.gridfailureinformation.service;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.log4j.Log4j2;
 import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionTextPlaceholderDto;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
 
@@ -32,7 +31,7 @@ public class DistributionTextPlaceholderService {
     private DistributionTextPlaceholderDto initPlaceholderDto() {
         try {
             InputStream inputStream = new ClassPathResource("DistributionTextPlaceholder.json").getInputStream();
-            return  new ObjectMapper().readValue(inputStream, DistributionTextPlaceholderDto.class);
+            return new ObjectMapper().readValue(inputStream, DistributionTextPlaceholderDto.class);
         } catch (IOException e) {
             log.error("Error importing JSON-Message", e);
             return null;
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
index 4354e88fd8e6040fe72daf2d0929bb8a5b83d8b9..7711d92f4c465f1c4236a0495c68815610074e65 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
@@ -78,7 +78,6 @@ import java.util.stream.Collectors;
 @Validated
 @EnableConfigurationProperties
 public class ExportService {
-    @Lazy
     private final RabbitMqConfig rabbitMqConfig;
 
     private final RabbitMqProperties rabbitMqProperties;
@@ -166,7 +165,7 @@ public class ExportService {
     }
 
     public boolean exportFailureInformation(UUID uuid, String[] targetChannels, GfiProcessState processState) {
-        log.info("Start exporting failureInformation with uuid: " + uuid);
+        log.info("Start exporting failureInformation with uuid: {}", uuid);
         countExportedMessages = 0;
         for (String targetChannel : targetChannels){
             RabbitMqChannel rChannel = getAvailableRabbitMqChannel(targetChannel);
@@ -181,8 +180,8 @@ public class ExportService {
             TblFailureInformation existingTblFailureInfo = failureInformationRepository.findByUuid(uuid)
                     .orElseThrow(NotFoundException::new);
 
-            //Wenn State mitgeliefert wird dann sende mail (zb. bei Update oder Complete State)
-            if(!isChannelAlreadyPublished( targetChannel, existingTblFailureInfo) || processState != null) {
+            //Wenn State mitgeliefert wird, dann sende mail (z.B. bei Update oder Complete State)
+            if(!isChannelAlreadyPublished(targetChannel, existingTblFailureInfo) || processState != null) {
 
                 //Nullsafe check
                 if (Constants.CHANNEL_TYPE_LONG_MAIL.equals(rabbitMqConfig.getChannelNameToTypeMap().get(rChannel.getName())) ||
@@ -192,8 +191,7 @@ public class ExportService {
                             failureInformationDistributionGroupRepository.findByFailureInformationId(existingTblFailureInfo.getId());
 
                     if (distributionGroups == null || distributionGroups.isEmpty()) {
-                        log.warn("no distribution group found for failureInfo: "
-                                + existingTblFailureInfo.getUuid().toString());
+                        log.warn("no distribution group found for failureInfo: {}", existingTblFailureInfo.getUuid().toString());
                         return false;
                     }
 
@@ -213,7 +211,7 @@ public class ExportService {
             }
         }
 
-        log.info("Finished exporting failureInformation with uuid: " + uuid);
+        log.info("Finished exporting failureInformation with uuid: {}", uuid);
         return countExportedMessages > 0;
     }
 
@@ -221,14 +219,14 @@ public class ExportService {
         List<String> channelsToPublishList = failureInformationService.getChannelsToPublishList(uuid, true);
         for (String targetChannel : channelsToPublishList) {
             RabbitMqChannel rChannel = getAvailableRabbitMqChannel(targetChannel);
-            if(getAvailableRabbitMqChannel(targetChannel) == null){
+            if (getAvailableRabbitMqChannel(targetChannel) == null){
                 log.warn(Constants.CHANNEL_NOT_EXISTING);
                 throw new NotFoundException(Constants.CHANNEL_NOT_EXISTING);
             }
 
             rabbitMqConfig.checkExchangeAndQueueOnRabbitMq(rChannel.getExportQueue(), rChannel.getExportKey());
 
-            TblFailureInformation existingTblFailureInfo = failureInformationRepository.findByUuid( uuid )
+            TblFailureInformation existingTblFailureInfo = failureInformationRepository.findByUuid(uuid)
                     .orElseThrow(NotFoundException::new);
 
             //Holen der Verteilergruppen (Pro Verteilergruppe eine Message auf RabbitMQ)
@@ -263,8 +261,8 @@ public class ExportService {
                 .filter( this::hasSITWebComponentChannel)
                 .filter(this::filterByState)
                // .filter( x -> x.getFailureEndPlanned() == null || x.getFailureEndPlanned().compareTo(new Date()) > 0)
-                .map( failureInformationMapper::toFailureInformationDto )
-                .map( failureInformationService::enrichFailureInfo )
+                .map(failureInformationMapper::toFailureInformationDto)
+                .map(failureInformationService::enrichFailureInfo)
                 .collect(Collectors.toList());
 
         try {
@@ -331,7 +329,7 @@ public class ExportService {
         List<TblFailureInformationPublicationChannel> publicationChannelList = publicationChannelRepository.findByTblFailureInformation(existingTblFailureInfo);
 
         Optional<TblFailureInformationPublicationChannel> pubChannelToSave = publicationChannelList.stream()
-                .filter( x->x.getPublicationChannel().equals(targetChannel))
+                .filter(x->x.getPublicationChannel().equals(targetChannel))
                 .findFirst();
 
         if( pubChannelToSave.isPresent() ) {
@@ -355,7 +353,7 @@ public class ExportService {
         List<RabbitMqChannel> filteredChannelList = rabbitMqChannels.stream().filter(channel -> channel.getName().contains(targetChannel)).toList();
 
         if (!filteredChannelList.isEmpty()){
-            return filteredChannelList.get(0);
+            return filteredChannelList.getFirst();
         }
         else {
             return null;
@@ -363,8 +361,8 @@ public class ExportService {
     }
 
     private void prepareMessage(TblFailureInformation existingTblFailureInfo, TblDistributionGroup distributionGroup, RabbitMqChannel rabbitMqChannel, GfiProcessState processState){
-        List<String> mailAddresses= new ArrayList<>();
-        List<String> mobilAddresses= new ArrayList<>();
+        List<String> mailAddresses = new ArrayList<>();
+        List<String> mobilAddresses = new ArrayList<>();
 
         RabbitMqMessageDto rabbitMqMessageDto = new RabbitMqMessageDto();
         rabbitMqMessageDto.setFailureInformationDto(failureInformationMapper.toFailureInformationDto(existingTblFailureInfo));
@@ -373,7 +371,7 @@ public class ExportService {
         rabbitMqMessageDto.setDistributionGroup(distributionGroup.getName());
 
         //  der dem Verteiler zugeordneten Personen
-        List<DistributionGroupMemberDto> memberList =  groupMemberPlzFilter.filter(
+        List<DistributionGroupMemberDto> memberList = groupMemberPlzFilter.filter(
                 distributionGroupMemberService.getMembersByGroupId(distributionGroup.getUuid()),
                 existingTblFailureInfo);
 
@@ -399,8 +397,7 @@ public class ExportService {
         }
 
         if (mailAddresses.isEmpty()) {
-            log.warn("no mail addresses found for distribution group: "
-                    + distributionGroup.getUuid().toString());
+            log.warn("no mail addresses found for distribution group: {}", distributionGroup.getUuid().toString());
             return;
         }
         sendMessageToRabbitMq(rabbitMqMessageDto, rabbitMqChannel);
@@ -457,8 +454,7 @@ public class ExportService {
         try{
             rabbitTemplate.convertAndSend(rabbitMqProperties.getExportExchange(), rabbitMqChannel.getExportKey(), objectMapper.writeValueAsString(rabbitMqMessageDto));
             countExportedMessages++;
-            log.info("RabbitMq: Successfully sent msg: Export-Exchange: " +  rabbitMqProperties.getExportExchange() + " Export-Queue: " + rabbitMqChannel.getExportQueue()
-                    + " Export-Key: " + rabbitMqChannel.getExportKey());
+            log.info("RabbitMq: Successfully sent msg: Export-Exchange: {} Export-Queue: {} Export-Key: {}", rabbitMqProperties.getExportExchange(), rabbitMqChannel.getExportQueue(), rabbitMqChannel.getExportKey());
         } catch (Exception e) {
             log.error(e.getMessage(), e);
             throw new InternalServerErrorException("could.not.push.rabbitMqMessage");
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
index 207d3476e59bd8cecea2733b8e4f7630716449a8..024442ba0106fad1eaa5b640d5d007d820d182b6 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
@@ -384,7 +384,7 @@ public class FailureInformationService {
 
     public FailureInformationDto enrichFailureInfo(FailureInformationDto failureInformationDto) {
         // wenn Mittelspannung oder bei definierten Branches dann füge Adress-Polygonpunkte für Kartenanzeige hinzu
-        if (failureInformationDto.getBranch() != null && polygonBranches.contains((failureInformationDto.getBranch()).toUpperCase())
+        if (failureInformationDto.getBranch() != null && polygonBranches != null && polygonBranches.contains((failureInformationDto.getBranch()).toUpperCase())
                 || (failureInformationDto.getVoltageLevel() != null && failureInformationDto.getVoltageLevel().equals("MS"))) {
             addPolygonAddressPoints(failureInformationDto);
         }
@@ -425,19 +425,19 @@ public class FailureInformationService {
         return !filteredList.isEmpty();
     }
 
-    private void enrichStations( FailureInformationDto dto) {
+    private void enrichStations(FailureInformationDto dto) {
         List<UUID> stationList = failureInformationStationRepository.findUuidByFkTblFailureInformation(dto.getUuid());
         dto.setStationIds(stationList);
     }
 
     @Transactional
     public FailureInformationDto condenseFailureInfos(List<UUID> listUuids, Optional<UUID> condensedUuid){
-        //  pruefen, ob in der uebergebenen Liste unterzuordnender FailureInfos Teile einer anderen Verdichtung sind
+        // pruefen, ob in der uebergebenen Liste unterzuordnender FailureInfos Teile einer anderen Verdichtung sind
         if (containsAlienSubordinatedFailureInfos(condensedUuid, listUuids)) {
             throw new BadRequestException("failure.info.already.subordinated");
         }
 
-        if(listUuids.isEmpty()){
+        if (listUuids.isEmpty()){
             throw new BadRequestException("empty.array.for.subordinated.failure.infos");
         }
 
@@ -451,7 +451,7 @@ public class FailureInformationService {
 
         TblFailureInformation condensedFailureInformation = getOrCreateCondensedFailureInfo(condensedUuid);
 
-        condensedFailureInformation.setRefBranch(listNewSubordinatedFailureInfos.get(0).getRefBranch());
+        condensedFailureInformation.setRefBranch(listNewSubordinatedFailureInfos.getFirst().getRefBranch());
 
         setCondensedFieldsFromMany(condensedFailureInformation, listNewSubordinatedFailureInfos);
         condensedFailureInformation.setCondensed(true);
@@ -609,7 +609,7 @@ public class FailureInformationService {
 
 
     private void setExpectedReason(List<TblFailureInformation> listFailureInfos, TblFailureInformation condensedFailureInformation){
-        RefExpectedReason firstExpReason = listFailureInfos.get(0).getRefExpectedReason();
+        RefExpectedReason firstExpReason = listFailureInfos.getFirst().getRefExpectedReason();
         UUID firstExpectedReason = firstExpReason != null ? firstExpReason.getUuid() : null;
 
         List<TblFailureInformation> filteredList = listFailureInfos
@@ -618,7 +618,7 @@ public class FailureInformationService {
                 .filter(f -> f.getRefExpectedReason().getUuid().equals(firstExpectedReason))
                 .toList();
         if (listFailureInfos.size() == filteredList.size()) {
-            condensedFailureInformation.setRefExpectedReason(listFailureInfos.get(0).getRefExpectedReason());
+            condensedFailureInformation.setRefExpectedReason(listFailureInfos.getFirst().getRefExpectedReason());
         }
         else{
             condensedFailureInformation.setRefExpectedReason(null);
@@ -648,14 +648,14 @@ public class FailureInformationService {
     }
 
     private boolean checkSameBranch(List<TblFailureInformation> listFailureInfos){
-        RefBranch firstBranch = listFailureInfos.get(0).getRefBranch();
+        RefBranch firstBranch = listFailureInfos.getFirst().getRefBranch();
         List<TblFailureInformation> filteredList = listFailureInfos.stream().filter(f -> f.getRefBranch().equals(firstBranch)).toList();
 
         return listFailureInfos.size() == filteredList.size();
     }
 
     private void setVoltageLevel(List<TblFailureInformation> listFailureInfos, TblFailureInformation condensedFailureInfo){
-        String firstVoltageLevel = listFailureInfos.get(0).getVoltageLevel();
+        String firstVoltageLevel = listFailureInfos.getFirst().getVoltageLevel();
 
         List<TblFailureInformation> filteredList = listFailureInfos
                 .stream()
@@ -743,7 +743,7 @@ public class FailureInformationService {
         // falls vorhanden wäre polygonStructureList[1] = inneres Polygon
         // https://de.wikipedia.org/wiki/GeoJSON
         List<List<List<BigDecimal>>> polygonStructureList = polygon.getGeometry().getCoordinates();
-         if (polygonStructureList.get(0) != null) {
+         if (polygonStructureList.getFirst() != null) {
              List<List<BigDecimal>> outerPolygonGeoJson = polygonStructureList.get(0);
              //Transform Latitude und Longitude, SIT erwartet im FE lon,lat, der GEOJson Standard ist lat,lon.
              // Hinweis, die Menschheit kann sich aktuell nicht entscheiden: https://macwright.com/lonlat/
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java
index 8ad446baa056a96e0be859e304f574615442382b..3d352c3e47382d1edd5da19f6f2f3be7f8dedab0 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java
@@ -98,7 +98,6 @@ public class FailureInformationStationService {
         TblFailinfoStation savedFailureInfoGroup = failureInformationStationRepository.save(assignmentToSave);
 
         return failureInformationStationMapper.toFailureInfoStationDto(savedFailureInfoGroup);
-
     }
 
     @Transactional
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java
index 7eb43b320b49977aea54908eab4c12333cdedaaf..2f01e89fd625b44cec529c74ffe40528be0f40e2 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java
@@ -15,7 +15,6 @@
 package org.eclipse.openk.gridfailureinformation.service;
 
 import org.eclipse.openk.gridfailureinformation.exceptions.NotFoundException;
-import org.eclipse.openk.gridfailureinformation.mapper.FailureInformationMapper;
 import org.eclipse.openk.gridfailureinformation.mapper.HistFailureInformationStationMapper;
 import org.eclipse.openk.gridfailureinformation.mapper.StationMapper;
 import org.eclipse.openk.gridfailureinformation.model.HtblFailureInformation;
@@ -23,14 +22,12 @@ import org.eclipse.openk.gridfailureinformation.model.HtblFailureInformationStat
 import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
 import org.eclipse.openk.gridfailureinformation.model.TblStation;
-import org.eclipse.openk.gridfailureinformation.repository.FailureInformationRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationStationRepository;
 import org.eclipse.openk.gridfailureinformation.repository.HistFailureInformationRepository;
 import org.eclipse.openk.gridfailureinformation.repository.HistFailureInformationStationRepository;
 import org.eclipse.openk.gridfailureinformation.repository.StationRepository;
 import org.eclipse.openk.gridfailureinformation.viewmodel.HistFailureInformationStationDto;
 import org.eclipse.openk.gridfailureinformation.viewmodel.StationDto;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -71,7 +68,7 @@ public class HistFailureInformationStationService {
             throw new NotFoundException();
         }
 
-        List<HtblFailureInformationStation> htblFailureInfoStationList = histFailureInformationStationRepository.findByFkTblFailureInformationAndVersionNumber(htblFailureInformation.get(0).getId(), versionNumber);
+        List<HtblFailureInformationStation> htblFailureInfoStationList = histFailureInformationStationRepository.findByFkTblFailureInformationAndVersionNumber(htblFailureInformation.getFirst().getId(), versionNumber);
         List<TblStation> stationList = new ArrayList<>();
 
         for (HtblFailureInformationStation histFailureInfoStation: htblFailureInfoStationList) {
@@ -100,9 +97,7 @@ public class HistFailureInformationStationService {
             }
         }
         return savedFailureInformationStations.stream()
-                .map( histFailureInformationStationMapper::toHistFailureInfoStationDto )
+                .map(histFailureInformationStationMapper::toHistFailureInfoStationDto)
                 .collect(Collectors.toList());
-
     }
-
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportGeoJsonService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportGeoJsonService.java
index 195c0e4e3207e1c5bb383830024e8b9dbec0ae01..3b47eb560c66426d711984b348d1a6aea2f22f29 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportGeoJsonService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportGeoJsonService.java
@@ -2,6 +2,7 @@ package org.eclipse.openk.gridfailureinformation.service;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.annotation.PostConstruct;
 import org.apache.commons.io.FileUtils;
 import org.eclipse.openk.gridfailureinformation.model.TblStation;
 import org.eclipse.openk.gridfailureinformation.repository.StationRepository;
@@ -9,9 +10,7 @@ import org.eclipse.openk.gridfailureinformation.util.ResourceLoaderBase;
 import org.eclipse.openk.gridfailureinformation.viewmodel.geojson.StationGeoJson;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -48,7 +47,7 @@ public class ImportGeoJsonService {
         this.objectMapper = objectMapper;
     }
 
-    @Bean
+    @PostConstruct
     public void initImportGeoJsonService(){
         log.info("init initImportGeoJsonService");
         pattern = Pattern.compile(filePattern);
@@ -62,6 +61,7 @@ public class ImportGeoJsonService {
         Matcher matcher = pattern.matcher(stringToTest);
         return matcher.matches();
     }
+
     @Transactional
     public void importGeoJsonFile() {
         ResourceLoaderBase resourceLoader = new ResourceLoaderBase();
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/RadiusService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/RadiusService.java
index 3f7f86631786bb361a3c6a5e08d28704d5a5f354..f319d6b5cff94a7113c47388ddcc63328e05ecf0 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/RadiusService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/RadiusService.java
@@ -36,7 +36,7 @@ public class RadiusService {
 
     public List<RadiusDto> getRadii() {
         return radiusRepository.findAll().stream()
-                .map( radiusMapper::toRadiusDto )
+                .map(radiusMapper::toRadiusDto)
                 .collect(Collectors.toList());
     }
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/StationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/StationService.java
index 8abdb8da548f7ac99cb01dcc094f8c2902b393c7..8cec0585aefa41f927332c0f4cf672cd4d79a8d6 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/StationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/StationService.java
@@ -20,9 +20,9 @@ import org.eclipse.openk.gridfailureinformation.repository.AddressRepository;
 import org.eclipse.openk.gridfailureinformation.repository.StationRepository;
 import org.eclipse.openk.gridfailureinformation.viewmodel.StationDto;
 import org.eclipse.openk.gridfailureinformation.viewmodel.StationPolygonDto;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Comparator;
 import java.util.List;
 import java.util.Optional;
 import java.util.UUID;
@@ -49,15 +49,14 @@ public class StationService {
     public List<StationDto> getStations() {
         return stationRepository.findAll().stream()
                 .map(stationMapper::toStationDto)
-                .sorted( (x, y) -> (x.getStationName()+"@"+ x.getStationId())
-                        .compareTo(y.getStationName()+"@"+y.getStationId()))
+                .sorted(Comparator.comparing(x -> (x.getStationName() + "@" + x.getStationId())))
                 .collect(Collectors.toList());
     }
 
 
     public StationDto getStationsById(String stationId) {
         Optional<TblStation> tblStation = stationRepository.findByStationId(stationId);
-        if( tblStation.isPresent()) {
+        if (tblStation.isPresent()) {
             return stationMapper.toStationDto(tblStation.get());
         }
         return null;
@@ -77,7 +76,7 @@ public class StationService {
                     .findByUuid(station)
                     .orElse(null);
             if (tblStation != null) {
-                count += addressRepository.findByStationId(tblStation.getStationId() + "").size();
+                count += addressRepository.findByStationId(tblStation.getStationId()).size();
             }
         }
 
diff --git a/gfsBackendService/src/main/resources/application.yml b/gfsBackendService/src/main/resources/application.yml
index b0fe1247a05a457408c080c4568332b21b5ffd85..40e965288fb7ae0604f8f24ea8bf1c51c610aacc 100644
--- a/gfsBackendService/src/main/resources/application.yml
+++ b/gfsBackendService/src/main/resources/application.yml
@@ -517,7 +517,6 @@ spring:
     url: jdbc:postgresql://localhost:5432/GridFailureInfoDevServer
     username: ${GFI_DB_USERNAME}
     password: ${GFI_DB_PASSWORD}
-    max-active: 5
   flyway:
     enabled: false
   main:
@@ -571,7 +570,7 @@ spring:
     dataExternInitialVisibility: hide
     #dataExternInitialVisibility: show
 
-    mapTileAttribution: "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>"
+    mapTileAttribution: "&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a>"
     mapTileLayerUrl: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
     #mapTileLayerUrl: "http://company1.wms.omniscale.net/mapproxy/service?"
     #mapWmsLayer: "osm"
@@ -723,7 +722,7 @@ services:
     moduleName: Störungsinformationstool
   sitCache:
     name: sitCacheService
-    url: http://localhost:8080
+    url: http://localhost:3000
 
 #feLoginURL: http://entdockergss:4223
 feLoginURL:
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java
index 93f685adf4491833f79f602e84369f311478b85f..98d3f7a644b6f731014e60f0a4cf852b4430e4e0 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java
@@ -189,8 +189,7 @@ public class TestConfiguration {
                 distributionGroupRepository,
                 distributionGroupAllowedRepository,
                 Mappers.getMapper(DistributionGroupMapper.class),
-                distributionGroupMemberRepository,
-                distributionGroupAllowedRepository
+                distributionGroupMemberRepository
         );
     }
 
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/DistributionGroupMemberControllerTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/DistributionGroupMemberControllerTest.java
index bdfc730e1a4b96a288c57d2539dc6284d149034f..39424b6051363c14fb3eabe334efe31ca3937335 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/DistributionGroupMemberControllerTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/DistributionGroupMemberControllerTest.java
@@ -24,9 +24,11 @@ import org.eclipse.openk.gridfailureinformation.support.MockDataHelper;
 import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionGroupMemberDto;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
-import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.core.io.Resource;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
@@ -57,13 +59,16 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @ContextConfiguration(classes = {TestConfiguration.class})
 @ActiveProfiles("test")
 class DistributionGroupMemberControllerTest {
-    @Autowired
+    @Mock
     private DistributionGroupRepository distributionGroupRepository;
 
-    @Autowired
-    @SpyBean
+    @Spy
+    @InjectMocks
     private DistributionGroupMemberService distributionGroupMemberService;
 
+    @Autowired
+    private ObjectMapper objectMapper;
+
     private static MockMvc mockMvc;
 
     @BeforeEach
@@ -124,10 +129,10 @@ class DistributionGroupMemberControllerTest {
         when(distributionGroupRepository.findByUuid(any())).thenReturn(Optional.of(tblDistributionGroup));
         doReturn(memberDto).when(distributionGroupMemberService).insertDistributionGroupMember(any(), any());
 
-        mockMvc.perform(post("/distribution-groups/{groupUuid}/members/", memberDto.getDistributionGroupUuid().toString())
+        mockMvc.perform(post("/distribution-groups/{groupUuid}/members", memberDto.getDistributionGroupUuid())
                 .contentType(MediaType.APPLICATION_JSON)
-                .content(new ObjectMapper().writeValueAsString(memberDto)))
-                .andExpect(jsonPath("$.contactId", is(memberDto.getContactId().toString())))
+                .content(objectMapper.writeValueAsString(memberDto)))
+                .andExpect(jsonPath("contactId", is(memberDto.getContactId().toString())))
                 .andExpect(status().is2xxSuccessful());
     }
 
@@ -139,7 +144,7 @@ class DistributionGroupMemberControllerTest {
 
         mockMvc.perform(put("/distribution-groups/{groupUuid}/members/{uuid}", memberDto.getDistributionGroupUuid().toString(), memberDto.getUuid().toString())
                 .contentType(MediaType.APPLICATION_JSON)
-                .content(new ObjectMapper().writeValueAsString(memberDto)))
+                .content(objectMapper.writeValueAsString(memberDto)))
                 .andExpect(status().is2xxSuccessful());
     }
 
@@ -152,7 +157,7 @@ class DistributionGroupMemberControllerTest {
 
         mockMvc.perform(put("/distribution-groups/{groupUuid}/members/{uuid}", UUID.randomUUID().toString(), UUID.randomUUID().toString())
                 .contentType(MediaType.APPLICATION_JSON)
-                .content(new ObjectMapper().writeValueAsString(memberDto)))
+                .content(objectMapper.writeValueAsString(memberDto)))
                 .andExpect(status().isBadRequest());
     }
 
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/EmailServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/EmailServiceTest.java
index 279d2673429e7eb7d19f6f346f6dd0e86d07b56f..9e2626f73593ab7dd959da58feb2ce5f62961c9f 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/EmailServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/EmailServiceTest.java
@@ -38,6 +38,7 @@ import jakarta.mail.MessagingException;
 import jakarta.mail.internet.MimeMessage;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -103,15 +104,17 @@ public class EmailServiceTest {
         mailServer.stop();
         emailConfig.setUseHtmlEmailTemplate(false);
         RabbitMqMessageDto mailMessageDto = MockDataHelper.mockMailMessageDto();
+        assertFalse(mailServer.isRunning());
         assertThrows(MessagingException.class, () -> emailService.sendMail(mailMessageDto));
     }
 
     @Test
     public void testSendMail_invalidRecipient(CapturedOutput output) throws MessagingException {
         RabbitMqMessageDto mailMessageDto = MockDataHelper.mockMailMessageDtoWrongRecipientFormat();
+
         emailService.sendMail(mailMessageDto);
-        String out = output.getOut();
-        assertTrue(output.getOut().contains("Invalid email-addresse: " + mailMessageDto.getMailAddresses().get(0)));
+
+        assertTrue(output.getOut().contains("Invalid email-address: " + mailMessageDto.getMailAddresses().getFirst()));
     }
 
     @Test
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
index 2d42e3acc29547644541b9de81b88633002ffb6c..4401f0f6a20e2c607fe4c7fabacd8aff948b4e7a 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
@@ -75,7 +75,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.HashMap;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
@@ -105,7 +104,7 @@ public class MockDataHelper {
         dto.setUuid(UUID.randomUUID());
         dto.setStatusInternId(UUID.randomUUID());
         dto.setVersionNumber(3L);
-        dto.setResponsibility("Vatter Abraham");
+        dto.setResponsibility("Vater Abraham");
         dto.setVoltageLevel(Constants.VOLTAGE_LEVEL_MS);
         dto.setPressureLevel(Constants.PRESSURE_LEVEL_HD);
         dto.setFailureBegin(new java.util.Date(Date.valueOf("2022-12-01").getTime()));
@@ -163,7 +162,7 @@ public class MockDataHelper {
         obj.setId(22L);
         obj.setUuid(UUID.randomUUID());
         obj.setVersionNumber(4L);
-        obj.setResponsibility("Vatter Abraham");
+        obj.setResponsibility("Vater Abraham");
         obj.setVoltageLevel(Constants.VOLTAGE_LEVEL_MS);
         obj.setPressureLevel(Constants.PRESSURE_LEVEL_HD);
 
@@ -177,7 +176,7 @@ public class MockDataHelper {
             obj.setFailureEndPlanned(date2);
             obj.setFailureEndResupplied(date3);
         }
-        catch(Exception e){
+        catch (Exception e){
             log.warn("Fehler beim Erstellen von Daten mit DateFormat");
         }
 
@@ -275,7 +274,7 @@ public class MockDataHelper {
         obj.setId(22L);
         obj.setUuid(UUID.randomUUID());
         obj.setVersionNumber(4L);
-        obj.setResponsibility("Vatter Mousa");
+        obj.setResponsibility("Vater Mousa");
         obj.setVoltageLevel(Constants.VOLTAGE_LEVEL_NS);
         obj.setPressureLevel(Constants.PRESSURE_LEVEL_MD);
 
@@ -377,18 +376,18 @@ public class MockDataHelper {
 
 
     public static  Page<TblFailureInformation> mockTblFailureInformationPage() {
-        List<TblFailureInformation> retList = new LinkedList<>();
-        retList.add( mockTblFailureInformation() );
-        retList.add( mockTblFailureInformation() );
+        List<TblFailureInformation> retList = new ArrayList<>();
+        retList.add(mockTblFailureInformation());
+        retList.add(mockTblFailureInformation());
         retList.get(1).setResponsibility("Lionel Lümmelprinz");
         return new PageImpl<>(retList, Pageable.unpaged(), retList.size());
     }
 
 
     public static  List<FailureInformationDto> mockGridFailureInformationDtos() {
-        List<FailureInformationDto> retList = new LinkedList<>();
-        retList.add( mockFailureInformationDto() );
-        retList.add( mockFailureInformationDto() );
+        List<FailureInformationDto> retList = new ArrayList<>();
+        retList.add(mockFailureInformationDto());
+        retList.add(mockFailureInformationDto());
         retList.get(1).setBranch("W");
         //retList.get(1).setStatusExtern("IN_WORK");
         retList.get(1).setStatusIntern("IN_WORK");
@@ -694,7 +693,7 @@ public class MockDataHelper {
     }
 
     public static  List<HtblFailureInformation> mockHistTblFailureInformationList() {
-        List<HtblFailureInformation> retList = new LinkedList<>();
+        List<HtblFailureInformation> retList = new ArrayList<>();
         retList.add( mockHistTblFailureInformation() );
         retList.add( mockHistTblFailureInformation2() );
         return retList;
@@ -801,7 +800,7 @@ public class MockDataHelper {
     }
 
     public static  List<FailureInformationDto> mockHistGridFailureInformationDtoList() {
-        List<FailureInformationDto> retList = new LinkedList<>();
+        List<FailureInformationDto> retList = new ArrayList<>();
         retList.add( mockHistFailureInformationDto() );
         retList.add( mockHistFailureInformationDto2() );
         return retList;
@@ -1163,7 +1162,7 @@ public class MockDataHelper {
 
     public static List<TblStation> mockTblStationList(){
 
-        List<TblStation> stationList = new LinkedList();
+        List<TblStation> stationList = new ArrayList<>();
         stationList.add(mockTblStation());
         stationList.add(mockTblStation2());
         return  stationList;
@@ -1562,7 +1561,7 @@ public class MockDataHelper {
     }
 
     public static List<String> mockPublicationChannelList(){
-        List<String> publicationChannels= new LinkedList<String>();
+        List<String> publicationChannels= new ArrayList<String>();
         publicationChannels.add("MOCKMAIL");
         publicationChannels.add("MOCKSMS");
         publicationChannels.add("MOCKXY");
@@ -1605,7 +1604,7 @@ public class MockDataHelper {
     }
 
     public static List<TblFailureInformationPublicationChannel> mockTblFailureInformationPublicationChannelList(){
-        List<TblFailureInformationPublicationChannel> channelList = new LinkedList<>();
+        List<TblFailureInformationPublicationChannel> channelList = new ArrayList<>();
         channelList.add(mockTblFailureInformationPublicationChannel());
         channelList.add(mockTblFailureInformationPublicationChannel2());
 
@@ -1613,7 +1612,7 @@ public class MockDataHelper {
     }
 
     public static List<FailureInformationPublicationChannelDto> mockFailureInformationPublicationChanneDtolList(){
-        List<FailureInformationPublicationChannelDto> channelList = new LinkedList<>();
+        List<FailureInformationPublicationChannelDto> channelList = new ArrayList<>();
         channelList.add(mockFailureInformationPublicationChannelDto());
         channelList.add(mockFailureInformationPublicationChannelDto2());
 
@@ -1638,7 +1637,7 @@ public class MockDataHelper {
 
     public static List<List<BigDecimal>> mockPolygonCoordinatesList(){
 
-        List<List<BigDecimal>> cordinatesList = new LinkedList<>();
+        List<List<BigDecimal>> cordinatesList = new ArrayList<>();
 
         List<BigDecimal> firstCoordinate = new ArrayList<>();
         firstCoordinate.add(new BigDecimal("53.5"));
diff --git a/mailExport/.gitignore b/mailExport/.gitignore
index cdc2bb7b6664579a457fe2c89da893d112f71fa1..a59a390e8b4226ad7e950d68931515fc9e87425a 100644
--- a/mailExport/.gitignore
+++ b/mailExport/.gitignore
@@ -4,6 +4,7 @@ target/
 !.mvn/wrapper/maven-wrapper.jar
 !**/src/main/**
 !**/src/test/**
+.env.*
 
 ### STS ###
 .apt_generated
diff --git a/mailExport/pom.xml b/mailExport/pom.xml
index 1e8d336fa6fb8d4c64aa4fab689bc24efb920186..13cf3fa9a6487d760f4161608d113cffbb284ebc 100644
--- a/mailExport/pom.xml
+++ b/mailExport/pom.xml
@@ -25,23 +25,22 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.2.12</version>
+        <version>3.4.3</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
 	<properties>
 		<java.version>21</java.version>
 		<maven.test.skip>false</maven.test.skip>
 
-		<spring-cloud.version>2023.0.0</spring-cloud.version>
+		<spring-cloud.version>2024.0.0</spring-cloud.version>
 		<powerMockReflect.version>2.0.9</powerMockReflect.version>
 		<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
 		<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<openfeign.version>4.2.0-RC1</openfeign.version>
-		<rabbitmq.version>5.20.0</rabbitmq.version>
-		<cyclonedx.version>2.9.0</cyclonedx.version>
-		<springdoc.version>2.4.0</springdoc.version>
-		<jakarta-mail.version>2.1.3</jakarta-mail.version>
+		<openfeign.version>4.2.0</openfeign.version>
+		<rabbitmq.version>5.22.0</rabbitmq.version>
+        <cyclonedx.version>2.9.1</cyclonedx.version>
+        <springdoc.version>2.4.0</springdoc.version>
 	</properties>
 
 	<dependencies>
@@ -130,6 +129,24 @@
 			<groupId>org.cyclonedx</groupId>
 			<artifactId>cyclonedx-maven-plugin</artifactId>
 			<version>${cyclonedx.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>maven-dependency-analyzer</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>cyclonedx-core-java</artifactId>
+					<groupId>org.cyclonedx</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-api</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-resolver-util</artifactId>
+					<groupId>org.apache.maven.resolver</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<!-- test dependencies -->
 		<!-- spring -->
@@ -179,6 +196,12 @@
 			<artifactId>powermock-reflect</artifactId>
 			<version>${powerMockReflect.version}</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<artifactId>objenesis</artifactId>
+					<groupId>org.objenesis</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 	</dependencies>
 
diff --git a/stoerungsauskunftInterface/.gitignore b/stoerungsauskunftInterface/.gitignore
index cdc2bb7b6664579a457fe2c89da893d112f71fa1..a59a390e8b4226ad7e950d68931515fc9e87425a 100644
--- a/stoerungsauskunftInterface/.gitignore
+++ b/stoerungsauskunftInterface/.gitignore
@@ -4,6 +4,7 @@ target/
 !.mvn/wrapper/maven-wrapper.jar
 !**/src/main/**
 !**/src/test/**
+.env.*
 
 ### STS ###
 .apt_generated
diff --git a/stoerungsauskunftInterface/pom.xml b/stoerungsauskunftInterface/pom.xml
index a7aed5c26418fea99a9193fc259ad317c1ed2292..f43e3f76713d5c33c9efe42fef72fe702d9e504c 100644
--- a/stoerungsauskunftInterface/pom.xml
+++ b/stoerungsauskunftInterface/pom.xml
@@ -25,22 +25,22 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.2.12</version>
+		<version>3.4.3</version>
 		<relativePath/> <!-- lookup parent from repository -->
 	</parent>
 	<properties>
 		<java.version>21</java.version>
 		<maven.test.skip>false</maven.test.skip>
 
-		<spring-cloud.version>2023.0.0</spring-cloud.version>
+		<spring-cloud.version>2024.0.0</spring-cloud.version>
 		<powerMockReflect.version>2.0.9</powerMockReflect.version>
 		<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
 		<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<openfeign.version>4.2.0-RC1</openfeign.version>
-		<rabbitmq.version>5.20.0</rabbitmq.version>
-		<cyclonedx.version>2.9.0</cyclonedx.version>
-		<springdoc.version>2.4.0</springdoc.version>
+		<openfeign.version>4.2.0</openfeign.version>
+		<rabbitmq.version>5.22.0</rabbitmq.version>
+        <cyclonedx.version>2.9.1</cyclonedx.version>
+        <springdoc.version>2.4.0</springdoc.version>
 	</properties>
 
 	<dependencies>
@@ -119,6 +119,20 @@
 			<groupId>org.cyclonedx</groupId>
 			<artifactId>cyclonedx-maven-plugin</artifactId>
 			<version>${cyclonedx.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>cyclonedx-core-java</artifactId>
+					<groupId>org.cyclonedx</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-dependency-analyzer</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>maven-dependency-tree</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<!-- test dependencies -->
 		<!-- spring -->
@@ -152,7 +166,7 @@
 		<dependency>
 			<groupId>org.springframework.amqp</groupId>
 			<artifactId>spring-rabbit-test</artifactId>
-			<version>3.2.0</version>
+			<version>3.2.3</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
@@ -160,6 +174,12 @@
 			<artifactId>powermock-reflect</artifactId>
 			<version>${powerMockReflect.version}</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<artifactId>objenesis</artifactId>
+					<groupId>org.objenesis</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 	</dependencies>
 
diff --git a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java
index 56a55e6c0d276125f9464c765f6a4e0650e41aef..f619402a1ea37e9f2793806103ae726d3993cf86 100644
--- a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java
+++ b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java
@@ -63,7 +63,6 @@ public class ImportExportService {
     }
 
     public void importUserNotifications() {
-
         List<StoerungsauskunftUserNotification> userNotificationList =
                 stoerungsauskunftApi.getUserNotification(1);
 
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/ImportSchedulerConfigTest.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/ImportSchedulerConfigTest.java
index 0e704085b2e348ed74d3fc91fbb7969e7a2180e5..e24e76c0b1de3055f49a11af5ca589c375674a71 100644
--- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/ImportSchedulerConfigTest.java
+++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/ImportSchedulerConfigTest.java
@@ -21,6 +21,7 @@ import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.api.Stoer
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.StoerungsauskunftUserNotification;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.service.ImportExportService;
 import org.junit.jupiter.api.Test;
+import org.mockito.Mock;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.SpyBean;
@@ -45,7 +46,7 @@ public class ImportSchedulerConfigTest {
     @SpyBean
     private ImportExportService importExportService;
 
-    @Autowired
+    @Mock
     private StoerungsauskunftApi stoerungsauskunftApi;
 
     @Autowired
@@ -55,7 +56,7 @@ public class ImportSchedulerConfigTest {
     private ObjectMapper objectMapper;
 
     @Test
-    public void shoulImportUserNotification() throws IOException {
+    public void shouldImportUserNotification() throws IOException {
         InputStream is = new ClassPathResource("UsernotificationJsonResponse.json").getInputStream();
         List<StoerungsauskunftUserNotification> userNotificationList =
                 objectMapper.readValue(is, new TypeReference<>() {
@@ -63,6 +64,7 @@ public class ImportSchedulerConfigTest {
         when(stoerungsauskunftApi.getUserNotification(any(Integer.class))).thenReturn(userNotificationList);
 
         importSchedulerConfig.scheduleTaskImportUserNotifications();
+
         verify(importExportService, times(1)).importUserNotifications();
     }
 }
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/TestConfiguration.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/TestConfiguration.java
index 8abd12c027f51ef76a3ede91ac912f2c62272b33..8552ada4614f71a441473d6a7606158969940bfd 100644
--- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/TestConfiguration.java
+++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/config/TestConfiguration.java
@@ -15,7 +15,6 @@
 package org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.config;
 
 
-import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.rabbitmq.client.Channel;
 import feign.Request;
@@ -24,12 +23,9 @@ import feign.Response;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.StoerungsauskunftInterfaceApplication;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.api.StoerungsauskunftApi;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.config.rabbitMq.RabbitMqConfig;
-import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.StoerungsauskunftOutage;
-import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.StoerungsauskunftUserNotification;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.mapper.StoerungsauskunftMapper;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.mapper.StoerungsauskunftMapperImpl;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.service.ImportExportService;
-import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.support.MockDataHelper;
 import org.mapstruct.factory.Mappers;
 import org.springframework.amqp.rabbit.connection.Connection;
 import org.springframework.amqp.rabbit.connection.ConnectionFactory;
@@ -37,14 +33,11 @@ import org.springframework.amqp.rabbit.test.TestRabbitTemplate;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.context.annotation.Bean;
-import org.springframework.core.io.ClassPathResource;
 import org.springframework.messaging.MessageChannel;
+import org.springframework.test.context.TestPropertySource;
 
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.List;
 
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.BDDMockito.given;
@@ -53,6 +46,8 @@ import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 
 @EntityScan(basePackageClasses = StoerungsauskunftInterfaceApplication.class)
+@org.springframework.boot.test.context.TestConfiguration
+@TestPropertySource(locations = "classpath:application-test.yml")
 public class TestConfiguration {
     @Bean
     public ObjectMapper objectMapper() { return new ObjectMapper(); }
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/controller/ImportExportControllerTest.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/controller/ImportExportControllerTest.java
index 7875228c658fac7604a2ee183a51e4ee8ce25bc5..e9564b2a8c9e9c467c8497257bb52b911d19efdc 100644
--- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/controller/ImportExportControllerTest.java
+++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/controller/ImportExportControllerTest.java
@@ -16,7 +16,6 @@ package org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.controll
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import feign.Response;
-import lombok.With;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.StoerungsauskunftInterfaceApplication;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.api.StoerungsauskunftApi;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.config.SecurityConfig;
@@ -27,18 +26,10 @@ import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.support.M
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.boot.test.mock.mockito.SpyBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Import;
 import org.springframework.http.MediaType;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.test.context.support.WithAnonymousUser;
 import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.security.web.SecurityFilterChain;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.servlet.MockMvc;
@@ -48,6 +39,7 @@ import org.springframework.web.context.WebApplicationContext;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyList;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -77,6 +69,7 @@ public class ImportExportControllerTest {
 
     @BeforeEach
     public void init() {
+        reset(importExportService);
         mockMvc = MockMvcBuilders
                 .webAppContextSetup(context)
                 .apply(springSecurity())
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java
index 099da776124b3ee3840be9831b013561cd5478e0..663ab1cf67d13924996a431095d3c94f5ff80d59 100644
--- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java
+++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java
@@ -25,12 +25,16 @@ import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.Fore
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.RabbitMqMessageDto;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.StoerungsauskunftUserNotification;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.exceptions.InternalServerErrorException;
+import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.mapper.StoerungsauskunftMapperImpl;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.support.MockDataHelper;
 import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.core.io.ClassPathResource;
+import org.springframework.messaging.MessageChannel;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 
@@ -42,37 +46,49 @@ import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.*;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 @SpringBootTest(classes = StoerungsauskunftInterfaceApplication.class)
 @ContextConfiguration(classes = {TestConfiguration.class})
 @ActiveProfiles("test")
 public class ImportExportServiceTest {
-    @Autowired
-    private ImportExportService importExportService;
+    @Mock
+    private StoerungsauskunftApi stoerungsauskunftApi;
 
-    @Autowired
+    @Spy
     private ObjectMapper objectMapper;
 
+    @Spy
+    private StoerungsauskunftMapperImpl stoerungsauskunftMapper;
+
+    @Mock
+    private MessageChannel messageChannel;
+
+    @Spy
+    @InjectMocks
+    private ImportExportService importExportService;
+
     @Autowired
     private Response testResponse;
 
-    @SpyBean
-    private StoerungsauskunftApi stoerungsauskunftApi;
-
     @Test
     public void shouldImportUserNotification() throws IOException {
-        ImportExportService importExportServicSpy = spy(importExportService);
-
         InputStream is = new ClassPathResource("UsernotificationJsonResponse.json").getInputStream();
         List<StoerungsauskunftUserNotification> userNotificationList =
                 objectMapper.readValue(is, new TypeReference<>() {
                 });
         when(stoerungsauskunftApi.getUserNotification(anyInt())).thenReturn(userNotificationList);
 
-        importExportServicSpy.importUserNotifications();
+        importExportService.importUserNotifications();
 
-        verify(importExportServicSpy, times(userNotificationList.size())).pushForeignFailure(any(ForeignFailureMessageDto.class));
+        verify(importExportService, times(userNotificationList.size())).pushForeignFailure(any(ForeignFailureMessageDto.class));
     }
 
     @Test
@@ -129,16 +145,14 @@ public class ImportExportServiceTest {
 
     @Test
     public void shouldImportUserNotificationMapperTest1() throws IOException {
-        ImportExportService importExportServicSpy = spy(importExportService);
-
         InputStream is = new ClassPathResource("UsernotificationJsonResponse.json").getInputStream();
         List<StoerungsauskunftUserNotification> userNotificationList =
                 objectMapper.readValue(is, new TypeReference<>() {
                 });
         when(stoerungsauskunftApi.getUserNotification(anyInt())).thenReturn(userNotificationList);
 
-        importExportServicSpy.importUserNotifications();
+        importExportService.importUserNotifications();
 
-        verify(importExportServicSpy, times(userNotificationList.size())).pushForeignFailure(any(ForeignFailureMessageDto.class));
+        verify(importExportService, times(userNotificationList.size())).pushForeignFailure(any(ForeignFailureMessageDto.class));
     }
 }
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/MessageConsumerServiceTest.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/MessageConsumerServiceTest.java
index 90283439a49e2e9f920acc05a57f626db9d301b1..11f64c80bde41dcacee2e68c0398ad442bdf06b2 100644
--- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/MessageConsumerServiceTest.java
+++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/MessageConsumerServiceTest.java
@@ -23,20 +23,18 @@ import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.config.Te
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.RabbitMqMessageDto;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.support.MockDataHelper;
 import org.junit.jupiter.api.Test;
+import org.mockito.Mock;
 import org.springframework.amqp.rabbit.test.RabbitListenerTest;
-import org.springframework.amqp.rabbit.test.RabbitListenerTestHarness;
 import org.springframework.amqp.rabbit.test.TestRabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
+import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
 
-import java.text.ParseException;
-
-import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyList;
@@ -62,7 +60,7 @@ public class MessageConsumerServiceTest {
     @Autowired
     private Response testResponse;
 
-    @SpyBean
+    @Mock
     private StoerungsauskunftApi stoerungsauskunftApi;
 
     @Value("${spring.rabbitmq.exportQueue}")
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/support/MockDataHelper.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/support/MockDataHelper.java
index cc19b03959f04c324efce3c3d3cce3620b2de984..6deb7e901f5d3cc5863d7d9755f019ffff160291 100644
--- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/support/MockDataHelper.java
+++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/support/MockDataHelper.java
@@ -14,7 +14,6 @@
  */
 package org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.support;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.constants.Constants;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.FailureInformationDto;
@@ -22,7 +21,6 @@ import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.Fore
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.ForeignFailureMessageDto;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.RabbitMqMessageDto;
 import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.dtos.StoerungsauskunftUserNotification;
-import org.springframework.beans.factory.annotation.Autowired;
 
 import java.math.BigDecimal;
 import java.sql.Date;
@@ -31,11 +29,9 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Random;
 import java.util.UUID;
 
 public class MockDataHelper {
-
     private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
 
     private MockDataHelper() {}
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/util/ResourceLoaderBase.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/util/ResourceLoaderBase.java
index 01b2455cb8058c8b989a6e2af71c782a0418ffab..8d8bb75a25e4c32228be5395bbd94fc6df61d98d 100644
--- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/util/ResourceLoaderBase.java
+++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/util/ResourceLoaderBase.java
@@ -73,7 +73,7 @@ public class ResourceLoaderBase {
     public String loadFromPath(String path) {
         try {
             Path paths = Paths.get(path);
-            log.debug("paths: " + path);
+            log.debug("paths: {}", path);
             try (InputStream inputStream = Files.newInputStream(paths)) {
                 return stream2String(inputStream, paths.getFileName().toString());
             }
diff --git a/testImportGridFailures/pom.xml b/testImportGridFailures/pom.xml
index 1064b7959229ae4bcec5b7cbf8659a2fc902e699..ca4abee996de94a0ee729bbe862811232a2c71a9 100644
--- a/testImportGridFailures/pom.xml
+++ b/testImportGridFailures/pom.xml
@@ -25,7 +25,7 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.2.12</version>
+		<version>3.4.3</version>
 		<relativePath/> <!-- lookup parent from repository -->
 	</parent>
 
@@ -37,8 +37,8 @@
 		<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
 		<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<rabbitmq.version>5.20.0</rabbitmq.version>
-		<cyclonedx.version>2.9.0</cyclonedx.version>
+		<rabbitmq.version>5.22.0</rabbitmq.version>
+		<cyclonedx.version>2.9.1</cyclonedx.version>
 		<springdoc.version>2.4.0</springdoc.version>
 	</properties>
 
@@ -86,6 +86,12 @@
 			<groupId>org.cyclonedx</groupId>
 			<artifactId>cyclonedx-maven-plugin</artifactId>
 			<version>${cyclonedx.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>maven-dependency-analyzer</artifactId>
+					<groupId>org.apache.maven.shared</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<!-- test dependencies-->
 		<!-- spring -->
@@ -118,6 +124,12 @@
 			<artifactId>powermock-reflect</artifactId>
 			<version>${powerMockReflect.version}</version>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<artifactId>objenesis</artifactId>
+					<groupId>org.objenesis</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 	</dependencies>