diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml
index 282720a..fa96613 100644
--- a/.github/workflows/maven-build.yml
+++ b/.github/workflows/maven-build.yml
@@ -71,4 +71,4 @@ jobs:
mvn --update-snapshots verify \
org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
-Dsonar.projectKey=eclipse-ecsp_streambase -Dsonar.organization=eclipse-ecsp \
- -Dcheckstyle.skip -Dpmd.skip=true
\ No newline at end of file
+ -Dcheckstyle.skip -Dpmd.skip=true
diff --git a/DEPENDENCIES b/DEPENDENCIES
index 4aa73a6..45376b9 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -5,20 +5,20 @@ maven/mavencentral/com.bugsnag/bugsnag/3.8.0, MIT, approved, #22566
maven/mavencentral/com.esotericsoftware/kryo/5.6.0, BSD-3-Clause, approved, clearlydefined
maven/mavencentral/com.esotericsoftware/minlog/1.3.1, BSD-2-Clause, approved, CQ9247
maven/mavencentral/com.esotericsoftware/reflectasm/1.11.9, BSD-3-Clause, approved, #6835
-maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.13.5, Apache-2.0, approved, clearlydefined
+maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.16.2, Apache-2.0, approved, #11606
maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.3, Apache-2.0 AND MIT AND BSD-2-Clause, approved, #15194
-maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.13.5, Apache-2.0, approved, #2134
-maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-csv/2.13.5, Apache-2.0, approved, clearlydefined
+maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.16.2, Apache-2.0, approved, #11605
+maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-csv/2.16.2, Apache-2.0, approved, #13635
maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.17.1, Apache-2.0, approved, #13669
-maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.13.5, Apache-2.0, approved, clearlydefined
+maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.16.2, Apache-2.0, approved, #13626
maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.3, Apache-2.0, approved, #15189
-maven/mavencentral/com.fasterxml.jackson.module/jackson-module-scala_2.13/2.13.5, Apache-2.0, approved, clearlydefined
+maven/mavencentral/com.fasterxml.jackson.module/jackson-module-scala_2.13/2.16.2, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.github.ben-manes.caffeine/caffeine/2.9.3, Apache-2.0, approved, clearlydefined
-maven/mavencentral/com.github.docker-java/docker-java-api/3.3.0, Apache-2.0, approved, #10346
-maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.3.0, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946
-maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.0, Apache-2.0, approved, #7942
+maven/mavencentral/com.github.docker-java/docker-java-api/3.7.0, Apache-2.0, approved, #26612
+maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.7.0, Apache-2.0 AND MPL-2.0, approved, #25269
+maven/mavencentral/com.github.docker-java/docker-java-transport/3.7.0, Apache-2.0, approved, #26615
maven/mavencentral/com.github.kstyrc/embedded-redis/0.6, Apache-2.0, approved, clearlydefined
-maven/mavencentral/com.github.luben/zstd-jni/1.5.5-1, BSD-2-Clause, approved, #19653
+maven/mavencentral/com.github.luben/zstd-jni/1.5.6-4, BSD-2-Clause, approved, #19830
maven/mavencentral/com.github.spotbugs/spotbugs-annotations/3.1.9, LGPL-2.1-or-later, approved, #20049
maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, Apache-2.0 and CC-BY-2.5, approved, #15220
maven/mavencentral/com.google.code.gson/gson/2.8.9, Apache-2.0, approved, CQ23496
@@ -39,7 +39,7 @@ maven/mavencentral/com.squareup.okio/okio/3.6.0, Apache-2.0, approved, #11155
maven/mavencentral/com.sun.xml.bind/jaxb-core/2.3.0.1, CDDL-1.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, #229
maven/mavencentral/com.sun.xml.bind/jaxb-impl/2.3.1, BSD-3-Clause, approved, #230
maven/mavencentral/com.thoughtworks.paranamer/paranamer/2.8, BSD-3-Clause, approved, #19741
-maven/mavencentral/com.typesafe.scala-logging/scala-logging_2.13/3.9.4, Apache-2.0, approved, #20020
+maven/mavencentral/com.typesafe.scala-logging/scala-logging_2.13/3.9.5, Apache-2.0, approved, #20020
maven/mavencentral/com.vaadin.external.google/android-json/0.0.20131108.vaadin1, Apache-2.0, approved, CQ21310
maven/mavencentral/com.yammer.metrics/metrics-core/2.2.0, Apache-2.0, approved, CQ9083
maven/mavencentral/com.zaxxer/HikariCP/2.4.7, Apache-2.0, approved, clearlydefined
@@ -48,7 +48,8 @@ maven/mavencentral/commons-cli/commons-cli/1.4, Apache-2.0, approved, CQ13132
maven/mavencentral/commons-codec/commons-codec/1.15, Apache-2.0 AND BSD-3-Clause AND LicenseRef-Public-Domain, approved, CQ22641
maven/mavencentral/commons-collections/commons-collections/3.2.2, Apache-2.0, approved, #15185
maven/mavencentral/commons-digester/commons-digester/2.1, Apache-2.0, approved, clearlydefined
-maven/mavencentral/commons-io/commons-io/2.16.1, Apache-2.0, approved, #14190
+maven/mavencentral/commons-io/commons-io/2.14.0, Apache-2.0, approved, #10768
+maven/mavencentral/commons-logging/commons-logging/1.3.5, Apache-2.0, approved, #11783
maven/mavencentral/commons-validator/commons-validator/1.7, Apache-2.0, approved, clearlydefined
maven/mavencentral/de.flapdoodle.embed/de.flapdoodle.embed.mongo.packageresolver/1.0.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/de.flapdoodle.embed/de.flapdoodle.embed.mongo/3.4.3, Apache-2.0, approved, clearlydefined
@@ -60,21 +61,25 @@ maven/mavencentral/dev.morphia.morphia/morphia-core/2.2.3, Apache-2.0, approved,
maven/mavencentral/io.dropwizard.metrics/metrics-core/3.2.6, Apache-2.0, approved, CQ13159
maven/mavencentral/io.dropwizard.metrics/metrics-jvm/3.2.2, Apache-2.0, approved, CQ13160
maven/mavencentral/io.github.classgraph/classgraph/4.8.78, MIT, approved, CQ22530
-maven/mavencentral/io.micrometer/micrometer-commons/1.12.11, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #11679
-maven/mavencentral/io.micrometer/micrometer-observation/1.12.11, Apache-2.0, approved, #11680
+maven/mavencentral/io.micrometer/micrometer-commons/1.16.3, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #24726
+maven/mavencentral/io.micrometer/micrometer-observation/1.16.3, Apache-2.0, approved, #24713
maven/mavencentral/io.moquette/moquette-broker/0.17, Apache-2.0, approved, clearlydefined
-maven/mavencentral/io.netty/netty-buffer/4.1.109.Final, Apache-2.0, approved, CQ21842
-maven/mavencentral/io.netty/netty-codec-dns/4.1.109.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
+maven/mavencentral/io.netty/netty-buffer/4.2.9.Final, Apache-2.0, approved, #16116
+maven/mavencentral/io.netty/netty-codec-base/4.2.9.Final, Apache-2.0, approved, #21322
+maven/mavencentral/io.netty/netty-codec-compression/4.2.9.Final, Apache-2.0, approved, #16109
+maven/mavencentral/io.netty/netty-codec-dns/4.2.9.Final, Apache-2.0, approved, #16112
+maven/mavencentral/io.netty/netty-codec-marshalling/4.2.9.Final, Apache-2.0, approved, #21321
maven/mavencentral/io.netty/netty-codec-mqtt/4.1.93.Final, Apache-2.0 OR LicenseRef-Public-Domain OR BSD-2-Clause OR MIT, approved, CQ15280
-maven/mavencentral/io.netty/netty-codec/4.1.109.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
-maven/mavencentral/io.netty/netty-common/4.1.109.Final, Apache-2.0 AND MIT AND CC0-1.0, approved, CQ21843
-maven/mavencentral/io.netty/netty-handler/4.1.109.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
-maven/mavencentral/io.netty/netty-resolver-dns/4.1.109.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
-maven/mavencentral/io.netty/netty-resolver/4.1.109.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
+maven/mavencentral/io.netty/netty-codec-protobuf/4.2.9.Final, Apache-2.0, approved, #21326
+maven/mavencentral/io.netty/netty-codec/4.2.9.Final, Apache-2.0 AND (Apache-2.0 AND CC-PDDC), approved, #16119
+maven/mavencentral/io.netty/netty-common/4.2.9.Final, Apache-2.0 AND (Apache-2.0 AND CC0-1.0) AND (Apache-2.0 AND MIT), approved, #16124
+maven/mavencentral/io.netty/netty-handler/4.2.9.Final, Apache-2.0, approved, #16123
+maven/mavencentral/io.netty/netty-resolver-dns/4.2.9.Final, Apache-2.0, approved, #16110
+maven/mavencentral/io.netty/netty-resolver/4.2.9.Final, Apache-2.0, approved, #16126
maven/mavencentral/io.netty/netty-transport-classes-epoll/4.1.93.Final, Apache-2.0, approved, #6366
maven/mavencentral/io.netty/netty-transport-native-epoll/4.1.93.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
maven/mavencentral/io.netty/netty-transport-native-unix-common/4.1.93.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
-maven/mavencentral/io.netty/netty-transport/4.1.109.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
+maven/mavencentral/io.netty/netty-transport/4.2.9.Final, Apache-2.0, approved, #16113
maven/mavencentral/io.projectreactor/reactor-core/3.3.10.RELEASE, Apache-2.0, approved, clearlydefined
maven/mavencentral/io.prometheus/simpleclient/0.6.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/io.prometheus/simpleclient_common/0.6.0, Apache-2.0, approved, clearlydefined
@@ -83,7 +88,7 @@ maven/mavencentral/io.prometheus/simpleclient_httpserver/0.6.0, Apache-2.0, appr
maven/mavencentral/io.prometheus/simpleclient_servlet/0.6.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/io.reactivex.rxjava2/rxjava/2.2.19, Apache-2.0, approved, clearlydefined
maven/mavencentral/io.reactivex.rxjava3/rxjava/3.1.8, Apache-2.0, approved, clearlydefined
-maven/mavencentral/jakarta.annotation/jakarta.annotation-api/2.1.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.ca
+maven/mavencentral/jakarta.annotation/jakarta.annotation-api/3.0.0, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.ca
maven/mavencentral/javax.cache/cache-api/1.1.1, Apache-2.0, approved, #19671
maven/mavencentral/javax.el/javax.el-api/3.0.0, CDDL-1.0 or Apache-2.0, approved, CQ7249
maven/mavencentral/javax.inject/javax.inject/1, Apache-2.0, approved, CQ3555
@@ -93,35 +98,38 @@ maven/mavencentral/junit/junit/4.13.2, EPL-2.0, approved, CQ23636
maven/mavencentral/net.bytebuddy/byte-buddy-agent/1.11.13, Apache-2.0, approved, clearlydefined
maven/mavencentral/net.bytebuddy/byte-buddy/1.11.13, Apache-2.0 AND BSD-3-Clause, approved, #2712
maven/mavencentral/net.java.dev.jna/jna-platform/5.10.0, (Apache-2.0 AND LGPL-2.1 AND LGPL-2.1-only) OR (Apache-2.0 AND LGPL-2.1-only), approved, clearlydefined
-maven/mavencentral/net.java.dev.jna/jna/5.12.1, Apache-2.0 OR LGPL-2.1-or-later, approved, #3217
+maven/mavencentral/net.java.dev.jna/jna/5.18.1, Apache-2.0 AND LGPL-2.1-or-later, approved, #23404
maven/mavencentral/net.sf.jopt-simple/jopt-simple/5.0.4, MIT, approved, CQ13174
maven/mavencentral/net.sourceforge.argparse4j/argparse4j/0.7.0, MIT, approved, clearlydefined
-maven/mavencentral/org.apache.commons/commons-compress/1.23.0, Apache-2.0 AND BSD-3-Clause, approved, #7506
+maven/mavencentral/org.apache.commons/commons-compress/1.28.0, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #22677
maven/mavencentral/org.apache.commons/commons-lang3/3.9, Apache-2.0, approved, CQ21762
maven/mavencentral/org.apache.curator/curator-test/5.3.0, Apache-2.0, approved, #20889
-maven/mavencentral/org.apache.kafka/kafka-clients/3.6.2, Apache-2.0 AND (Apache-2.0 AND MIT) AND (Apache-2.0 AND BSD-3-Clause), approved, #11084
-maven/mavencentral/org.apache.kafka/kafka-group-coordinator/3.6.2, Apache-2.0, approved, #20855
-maven/mavencentral/org.apache.kafka/kafka-metadata/3.6.2, Apache-2.0, approved, #20854
-maven/mavencentral/org.apache.kafka/kafka-raft/3.6.2, Apache-2.0, approved, #20851
-maven/mavencentral/org.apache.kafka/kafka-server-common/3.6.2, Apache-2.0, approved, #20852
-maven/mavencentral/org.apache.kafka/kafka-storage-api/3.6.2, Apache-2.0, approved, #20847
-maven/mavencentral/org.apache.kafka/kafka-storage/3.6.2, Apache-2.0, approved, #20849
-maven/mavencentral/org.apache.kafka/kafka-streams-scala_2.13/3.6.2, Apache-2.0, approved, #20891
-maven/mavencentral/org.apache.kafka/kafka-streams/3.6.2, Apache-2.0, approved, #11259
-maven/mavencentral/org.apache.kafka/kafka-tools-api/3.6.2, Apache-2.0, approved, #20848
-maven/mavencentral/org.apache.kafka/kafka_2.13/3.6.2, Apache-2.0, approved, #20850
+maven/mavencentral/org.apache.kafka/kafka-clients/3.9.1, Apache-2.0 AND (Apache-2.0 AND MIT) AND (Apache-2.0 AND BSD-3-Clause), approved, #17160
+maven/mavencentral/org.apache.kafka/kafka-group-coordinator-api/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-group-coordinator/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-metadata/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-raft/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-server-common/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-server/3.9.1, Apache-2.0, approved, #24585
+maven/mavencentral/org.apache.kafka/kafka-storage-api/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-storage/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-streams-scala_2.13/3.9.1, Apache-2.0, approved, #20031
+maven/mavencentral/org.apache.kafka/kafka-streams/3.9.1, Apache-2.0, approved, #20000
+maven/mavencentral/org.apache.kafka/kafka-tools-api/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.kafka/kafka-transaction-coordinator/3.9.1, Apache-2.0, approved, #24586
+maven/mavencentral/org.apache.kafka/kafka_2.13/3.9.1, Apache-2.0 AND BSD-3-Clause AND CDDL-1.0 AND EPL-2.0, approved, clearlydefined
maven/mavencentral/org.apache.yetus/audience-annotations/0.12.0, Apache-2.0, approved, #19676
maven/mavencentral/org.apache.zookeeper/zookeeper-jute/3.8.4, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.apache.zookeeper/zookeeper/3.8.4, Apache-2.0, approved, #11422
-maven/mavencentral/org.apiguardian/apiguardian-api/1.1.0, Apache-2.0, approved, #17641
-maven/mavencentral/org.aspectj/aspectjweaver/1.9.22.1, EPL-1.0, approved, tools.aspectj
+maven/mavencentral/org.apiguardian/apiguardian-api/1.1.2, Apache-2.0, approved, #17641
+maven/mavencentral/org.aspectj/aspectjweaver/1.9.25.1, EPL-1.0, approved, tools.aspectj
maven/mavencentral/org.bitbucket.b_c/jose4j/0.9.4, Apache-2.0, approved, #4707
maven/mavencentral/org.checkerframework/checker-qual/3.42.0, MIT, approved, #20003
-maven/mavencentral/org.eclipse.ecsp/cache-enabler/1.0.0, Apache-2.0, approved, automotive.ecsp
+maven/mavencentral/org.eclipse.ecsp/cache-enabler/1.0.SPRING-20260303.152710-1, Apache-2.0, approved, automotive.ecsp
maven/mavencentral/org.eclipse.ecsp/entities/1.1.1, Apache-2.0, approved, automotive.ecsp
-maven/mavencentral/org.eclipse.ecsp/nosql-dao/1.1.1, Apache-2.0, approved, automotive.ecsp
-maven/mavencentral/org.eclipse.ecsp/transformers/1.0.0, Apache-2.0, approved, automotive.ecsp
-maven/mavencentral/org.eclipse.ecsp/utils/1.1.1, Apache-2.0, approved, automotive.ecsp
+maven/mavencentral/org.eclipse.ecsp/nosql-dao/1.3.SPRING-20260224.134840-4, Apache-2.0, approved, automotive.ecsp
+maven/mavencentral/org.eclipse.ecsp/transformers/1.0.SPRING-20260303.143627-1, Apache-2.0, approved, automotive.ecsp
+maven/mavencentral/org.eclipse.ecsp/utils/1.2.SPRING-20260224.133644-4, Apache-2.0, approved, automotive.ecsp
maven/mavencentral/org.eclipse.paho/org.eclipse.paho.client.mqttv3/1.2.2, EPL-1.0 OR BSD-3-Clause, approved, iot.paho
maven/mavencentral/org.glassfish.web/javax.el/2.2.6, CDDL-1.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, #1654
maven/mavencentral/org.hamcrest/hamcrest-core/1.3, BSD-2-Clause, approved, CQ11429
@@ -132,15 +140,16 @@ maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.8.21, Apache-2.0, a
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.8.21, Apache-2.0, approved, #8919
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.8.21, Apache-2.0, approved, #8865
maven/mavencentral/org.jetbrains/annotations/16.0.3, Apache-2.0, approved, CQ20715
-maven/mavencentral/org.jodd/jodd-util/6.2.2, BSD-2-Clause, approved, clearlydefined
-maven/mavencentral/org.junit.jupiter/junit-jupiter-api/5.5.2, EPL-2.0 AND Apache-2.0, approved, CQ20556
-maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.5.2, EPL-2.0 AND Apache-2.0, approved, CQ20556
-maven/mavencentral/org.junit.jupiter/junit-jupiter-migrationsupport/5.5.2, EPL-2.0 AND Apache-2.0, approved, CQ20556
-maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.5.2, EPL-2.0 AND Apache-2.0, approved, CQ20556
-maven/mavencentral/org.junit.platform/junit-platform-commons/1.5.2, EPL-2.0 AND Apache-2.0, approved, CQ20556
-maven/mavencentral/org.junit.platform/junit-platform-engine/1.5.2, EPL-2.0 AND Apache-2.0, approved, CQ20556
-maven/mavencentral/org.junit.platform/junit-platform-launcher/1.0.1, EPL-2.0, approved, #20890
-maven/mavencentral/org.junit.vintage/junit-vintage-engine/5.5.2, EPL-2.0 AND Apache-2.0, approved, CQ20556
+maven/mavencentral/org.jodd/jodd-util/6.3.0, BSD-2-Clause, approved, clearlydefined
+maven/mavencentral/org.jspecify/jspecify/1.0.0, Apache-2.0, approved, #21897
+maven/mavencentral/org.junit.jupiter/junit-jupiter-api/5.11.4, EPL-2.0, approved, #15935
+maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.11.4, EPL-2.0, approved, #15939
+maven/mavencentral/org.junit.jupiter/junit-jupiter-migrationsupport/5.11.4, EPL-2.0, approved, #15931
+maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.11.4, EPL-2.0, approved, #15940
+maven/mavencentral/org.junit.platform/junit-platform-commons/1.11.4, EPL-2.0, approved, #15936
+maven/mavencentral/org.junit.platform/junit-platform-engine/1.11.4, EPL-2.0, approved, #15932
+maven/mavencentral/org.junit.platform/junit-platform-launcher/1.11.4, EPL-2.0, approved, #15934
+maven/mavencentral/org.junit.vintage/junit-vintage-engine/5.11.4, EPL-2.0, approved, #15942
maven/mavencentral/org.lz4/lz4-java/1.8.0, Apache-2.0, approved, #20005
maven/mavencentral/org.mockito/mockito-core/3.12.4, MIT, approved, clearlydefined
maven/mavencentral/org.mongodb/bson/4.5.1, Apache-2.0, approved, clearlydefined
@@ -148,33 +157,32 @@ maven/mavencentral/org.mongodb/mongodb-driver-core/4.5.1, Apache-2.0, approved,
maven/mavencentral/org.mongodb/mongodb-driver-legacy/4.5.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.mongodb/mongodb-driver-sync/4.5.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.objenesis/objenesis/3.3, Apache-2.0, approved, #19727
-maven/mavencentral/org.opentest4j/opentest4j/1.2.0, Apache-2.0, approved, #17680
+maven/mavencentral/org.opentest4j/opentest4j/1.3.0, Apache-2.0, approved, #9713
maven/mavencentral/org.pcollections/pcollections/4.0.1, MIT, approved, clearlydefined
maven/mavencentral/org.reactivestreams/reactive-streams/1.0.3, CC0-1.0, approved, CQ16332
-maven/mavencentral/org.redisson/redisson/3.31.0, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause) AND (Apache-2.0 AND CC0-1.0), approved, #20448
+maven/mavencentral/org.redisson/redisson/4.1.0, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause) AND (Apache-2.0 AND CC0-1.0), approved, #25650
maven/mavencentral/org.reflections/reflections/0.9.11, MIT, approved, CQ16665
maven/mavencentral/org.rnorth.duct-tape/duct-tape/1.0.8, MIT, approved, clearlydefined
maven/mavencentral/org.rocksdb/rocksdbjni/7.9.2, Apache-2.0 OR GPL-2.0-only, approved, #19715
maven/mavencentral/org.scala-lang.modules/scala-collection-compat_2.13/2.10.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.scala-lang.modules/scala-java8-compat_2.13/1.0.2, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.scala-lang/scala-library/2.13.14, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause AND MIT) AND (Apache-2.0 AND CC0-1.0), approved, #3221
-maven/mavencentral/org.scala-lang/scala-reflect/2.13.11, Apache-2.0, approved, #5844
+maven/mavencentral/org.scala-lang/scala-reflect/2.13.15, Apache-2.0, approved, #5844
maven/mavencentral/org.skyscreamer/jsonassert/1.5.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.slf4j/slf4j-api/2.0.13, MIT, approved, #5915
maven/mavencentral/org.slf4j/slf4j-reload4j/1.7.36, MIT, approved, #19989
-maven/mavencentral/org.springframework.boot/spring-boot-autoconfigure/3.3.3, Apache-2.0, approved, clearlydefined
-maven/mavencentral/org.springframework.boot/spring-boot-starter-aop/3.3.3, Apache-2.0, approved, #16896
-maven/mavencentral/org.springframework.boot/spring-boot-starter/3.3.3, Apache-2.0, approved, #16895
-maven/mavencentral/org.springframework.boot/spring-boot/3.3.3, Apache-2.0, approved, #16883
-maven/mavencentral/org.springframework/spring-aop/6.1.14, Apache-2.0, approved, #15221
-maven/mavencentral/org.springframework/spring-beans/6.1.14, Apache-2.0, approved, #15213
-maven/mavencentral/org.springframework/spring-context/6.1.14, Apache-2.0, approved, #15261
-maven/mavencentral/org.springframework/spring-core/6.1.14, Apache-2.0 AND BSD-3-Clause, approved, #15206
-maven/mavencentral/org.springframework/spring-expression/6.1.14, Apache-2.0, approved, #15264
-maven/mavencentral/org.springframework/spring-jcl/6.1.14, Apache-2.0, approved, #15266
-maven/mavencentral/org.springframework/spring-test/6.1.14, Apache-2.0, approved, #15265
-maven/mavencentral/org.testcontainers/junit-jupiter/1.18.3, MIT, approved, #7941
-maven/mavencentral/org.testcontainers/mongodb/1.18.3, MIT, approved, clearlydefined
-maven/mavencentral/org.testcontainers/testcontainers/1.18.3, MIT, approved, #7938
+maven/mavencentral/org.springframework.boot/spring-boot-autoconfigure/4.0.3, Apache-2.0, approved, #24987
+maven/mavencentral/org.springframework.boot/spring-boot-starter-aspectj/4.0.3, Apache-2.0, approved, #26060
+maven/mavencentral/org.springframework.boot/spring-boot-starter/4.0.3, Apache-2.0, approved, #25636
+maven/mavencentral/org.springframework.boot/spring-boot/4.0.3, Apache-2.0, approved, #24993
+maven/mavencentral/org.springframework/spring-aop/7.0.5, Apache-2.0, approved, #24985
+maven/mavencentral/org.springframework/spring-beans/7.0.5, Apache-2.0, approved, #24991
+maven/mavencentral/org.springframework/spring-context/7.0.5, Apache-2.0, approved, #24986
+maven/mavencentral/org.springframework/spring-core/7.0.5, Apache-2.0 AND BSD-3-Clause, approved, #24992
+maven/mavencentral/org.springframework/spring-expression/7.0.5, Apache-2.0, approved, #24988
+maven/mavencentral/org.springframework/spring-test/7.0.5, Apache-2.0, approved, #24998
+maven/mavencentral/org.testcontainers/testcontainers-junit-jupiter/2.0.3, MIT, approved, #26032
+maven/mavencentral/org.testcontainers/testcontainers-mongodb/2.0.3, MIT, approved, #26949
+maven/mavencentral/org.testcontainers/testcontainers/2.0.3, MIT, approved, #25274
maven/mavencentral/org.xerial.snappy/snappy-java/1.1.10.5, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #9098
maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275
diff --git a/pom.xml b/pom.xml
index b3d9557..ece9c58 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
4.0.0
org.eclipse.ecsp
streambase
- 1.2-SNAPSHOT
+ 1.2.SPRING-SNAPSHOT
StreamBase library
Enabler for event driven processing and device messaging capabilities
@@ -90,23 +90,23 @@
${java.version}
${java.version}
UTF-8
- 3.6.2
+ 3.9.1
3.8.4
- 5.5.2
- 2.9.8
+ 5.11.4
+ 2.15.3
2.0.13
-Xdoclint:none
- 2.18.1
+ 3.5.4
2.10
- 6.1.14
- 3.3.3
- 6.1.14
+ 7.0.5
+ 4.0.3
+ 7.0.5
3.4.3
4.13.2
- 1.1.1
- 1.0.0
- 1.0.0
- 1.1.1
+ 1.3.SPRING-SNAPSHOT
+ 1.0.SPRING-SNAPSHOT
+ 1.0.SPRING-SNAPSHOT
+ 1.2.SPRING-SNAPSHOT
1.1.1
2.13.14
5.3.0
@@ -117,7 +117,7 @@
1.3.0
7.3.3
0.17
- 1.18.3
+ 2.0.3
2.8.9
https://sonarcloud.io
@@ -192,11 +192,24 @@
+
+
+
+ org.sonatype.central
+ https://central.sonatype.com/repository/maven-snapshots/
+
+ false
+
+
+ true
+
+
+
org.testcontainers
- junit-jupiter
+ testcontainers-junit-jupiter
${testcontainers.version}
test
@@ -208,7 +221,7 @@
org.testcontainers
- mongodb
+ testcontainers-mongodb
${testcontainers.version}
test
@@ -726,7 +739,7 @@
org.junit.platform
junit-platform-launcher
- 1.0.1
+ 1.11.4
test
@@ -946,8 +959,8 @@
${maven.surefire.version}
${surefireArgLine} ${java.17.options}
- pertest
- true
+ false
+ 1
${excludeTestCaseGroups}
**/MqttDispatcherHealthMontiorIntegrationTest.java
@@ -957,7 +970,7 @@
org.jacoco
jacoco-maven-plugin
- 0.8.8
+ 0.8.14
org/eclipse/ecsp/analytics/aws/**/*
diff --git a/src/main/java/org/eclipse/ecsp/analytics/stream/base/stores/HarmanRocksDBStore.java b/src/main/java/org/eclipse/ecsp/analytics/stream/base/stores/HarmanRocksDBStore.java
index 19c3766..b54db9b 100644
--- a/src/main/java/org/eclipse/ecsp/analytics/stream/base/stores/HarmanRocksDBStore.java
+++ b/src/main/java/org/eclipse/ecsp/analytics/stream/base/stores/HarmanRocksDBStore.java
@@ -86,6 +86,7 @@
import org.rocksdb.Statistics;
import org.rocksdb.TableFormatConfig;
import org.rocksdb.WriteBatch;
+import org.rocksdb.WriteBatchInterface;
import org.rocksdb.WriteOptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -619,8 +620,13 @@ public synchronized KeyValueIterator all() {
* @throws RocksDBException the rocks DB exception
*/
@Override
- public void write(final WriteBatch batch) throws RocksDBException {
- db.write(writeOptions, batch);
+ public void write(final WriteBatchInterface batch) throws RocksDBException {
+ if (batch instanceof WriteBatch writeBatch) {
+ db.write(writeOptions, writeBatch);
+ } else {
+ LOG.error("Batch must be an instance of WriteBatch");
+ throw new IllegalArgumentException("Batch must be an instance of WriteBatch");
+ }
}
/**
@@ -767,11 +773,16 @@ public void prepareBatchForRestore(final Collection> re
*/
public void addToBatch(final byte[] key,
final byte[] value,
- final WriteBatch batch) throws RocksDBException {
- if (value == null) {
- batch.delete(key);
+ final WriteBatchInterface batch) throws RocksDBException {
+ if (batch instanceof WriteBatch writeBatch) {
+ if (value == null) {
+ writeBatch.delete(key);
+ } else {
+ writeBatch.put(key, value);
+ }
} else {
- batch.put(key, value);
+ LOG.error("Batch must be an instance of WriteBatch");
+ throw new IllegalArgumentException("Batch must be an instance of WriteBatch");
}
}
@@ -783,7 +794,7 @@ public void addToBatch(final byte[] key,
* @throws RocksDBException the rocks DB exception
*/
@Override
- public void addToBatch(KeyValue kvRecord, WriteBatch batch) throws RocksDBException {
+ public void addToBatch(KeyValue kvRecord, WriteBatchInterface batch) throws RocksDBException {
addToBatch(kvRecord.key, kvRecord.value, batch);
}
diff --git a/src/test/java/org/eclipse/ecsp/analytics/stream/base/constants/KafkaConfigConstant.java b/src/test/java/org/eclipse/ecsp/analytics/stream/base/constants/KafkaConfigConstant.java
new file mode 100644
index 0000000..802e062
--- /dev/null
+++ b/src/test/java/org/eclipse/ecsp/analytics/stream/base/constants/KafkaConfigConstant.java
@@ -0,0 +1,98 @@
+/*
+ *
+ *
+ * ******************************************************************************
+ *
+ * Copyright (c) 2023-24 Harman International
+ *
+ *
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ *
+ * you may not use this file except in compliance with the License.
+ *
+ * You may obtain a copy of the License at
+ *
+ *
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ *
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ *
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *
+ * See the License for the specific language governing permissions and
+ *
+ * limitations under the License.
+ *
+ *
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * *******************************************************************************
+ *
+ *
+ */
+
+package org.eclipse.ecsp.analytics.stream.base.constants;
+
+/**
+ * The KafkaConfigConstant class contains constants for Kafka configuration properties.
+ */
+public final class KafkaConfigConstant {
+
+ private KafkaConfigConstant() {
+ // Private constructor to prevent instantiation
+ }
+
+ /** The Constant BROKER_ID. */
+ public static final String BROKER_ID = "broker.id";
+
+ /** The Constant LISTENERS. */
+ public static final String LISTENERS = "listeners";
+
+ /** The Constant NUM_PARTITIONS. */
+ public static final String NUM_PARTITIONS = "num.partitions";
+
+ /** The Constant AUTO_CREATE_TOPICS_ENABLE. */
+ public static final String AUTO_CREATE_TOPICS_ENABLE = "auto.create.topics.enable";
+
+ /** The Constant MESSAGE_MAX_BYTES. */
+ public static final String MESSAGE_MAX_BYTES = "message.max.bytes";
+
+ /** The Constant CONTROLLED_SHUTDOWN_ENABLE. */
+ public static final String CONTROLLED_SHUTDOWN_ENABLE = "controlled.shutdown.enable";
+
+ /** The Constant LOG_DIR. */
+ public static final String LOG_DIR = "log.dir";
+
+ /** The Constant ZOOKEEPER_CONNECT. */
+ public static final String ZOOKEEPER_CONNECT = "zookeeper.connect";
+
+ /** The Constant ZOOKEEPER_SESSION_TIMEOUT_MS. */
+ public static final String ZOOKEEPER_SESSION_TIMEOUT_MS = "zookeeper.session.timeout.ms";
+
+ /** The Constant ZOOKEEPER_CONNECTION_TIMEOUT_MS. */
+ public static final String ZOOKEEPER_CONNECTION_TIMEOUT_MS = "zookeeper.connection.timeout.ms";
+
+ /** The Constant LOG_RETENTION_HOURS. */
+ public static final String LOG_RETENTION_HOURS = "log.retention.hours";
+
+ /** The Constant DELETE_TOPIC_ENABLE. */
+ public static final String DELETE_TOPIC_ENABLE = "delete.topic.enable";
+
+ /** The Constant LOG_CLEANER_DEDUPE_BUFFER_SIZE. */
+ public static final String LOG_CLEANER_DEDUPE_BUFFER_SIZE = "log.cleaner.dedupe.buffer.size";
+
+ /** The Constant GROUP_MIN_SESSION_TIMEOUT_MS. */
+ public static final String GROUP_MIN_SESSION_TIMEOUT_MS = "group.min.session.timeout.ms";
+
+ /** The Constant OFFSETS_TOPIC_REPLICATION_FACTOR. */
+ public static final String OFFSETS_TOPIC_REPLICATION_FACTOR = "offsets.topic.replication.factor";
+
+ /** The Constant OFFSETS_TOPIC_NUM_PARTITIONS. */
+ public static final String OFFSETS_TOPIC_NUM_PARTITIONS = "offsets.topic.num.partitions";
+}
diff --git a/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/EmbeddedKafka.java b/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/EmbeddedKafka.java
index a61971d..bfc1c9a 100644
--- a/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/EmbeddedKafka.java
+++ b/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/EmbeddedKafka.java
@@ -41,7 +41,6 @@
import kafka.cluster.EndPoint;
import kafka.server.KafkaConfig;
-import kafka.server.KafkaConfig$;
import kafka.server.KafkaServer;
import kafka.utils.TestUtils;
import org.apache.kafka.clients.admin.AdminClient;
@@ -53,11 +52,12 @@
import org.apache.kafka.common.serialization.Serdes;
import org.apache.kafka.common.utils.Time;
import org.apache.kafka.streams.StreamsConfig;
+import org.eclipse.ecsp.analytics.stream.base.constants.KafkaConfigConstant;
import org.eclipse.ecsp.analytics.stream.base.utils.Constants;
import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import scala.collection.mutable.ArraySeq;
+import scala.collection.mutable.ArrayBuffer;
import java.io.File;
import java.io.IOException;
@@ -125,15 +125,15 @@ public EmbeddedKafka(final Properties config) throws IOException {
*/
private Properties effectiveConfigFrom(final Properties initialConfig) {
final Properties effectiveConfigProps = new Properties();
- effectiveConfigProps.put(KafkaConfig$.MODULE$.BrokerIdProp(), 0);
- effectiveConfigProps.put(KafkaConfig.ListenersProp(), "PLAINTEXT://127.0.0.1:9092");
- effectiveConfigProps.put(KafkaConfig$.MODULE$.NumPartitionsProp(), 1);
- effectiveConfigProps.put(KafkaConfig$.MODULE$.AutoCreateTopicsEnableProp(), true);
- effectiveConfigProps.put(KafkaConfig$.MODULE$.MessageMaxBytesProp(), Constants.INT_1000000);
- effectiveConfigProps.put(KafkaConfig$.MODULE$.ControlledShutdownEnableProp(), true);
+ effectiveConfigProps.put(KafkaConfigConstant.BROKER_ID, 0);
+ effectiveConfigProps.put(KafkaConfigConstant.LISTENERS, "PLAINTEXT://127.0.0.1:9092");
+ effectiveConfigProps.put(KafkaConfigConstant.NUM_PARTITIONS, 1);
+ effectiveConfigProps.put(KafkaConfigConstant.AUTO_CREATE_TOPICS_ENABLE, true);
+ effectiveConfigProps.put(KafkaConfigConstant.MESSAGE_MAX_BYTES, Constants.INT_1000000);
+ effectiveConfigProps.put(KafkaConfigConstant.CONTROLLED_SHUTDOWN_ENABLE, true);
effectiveConfigProps.putAll(initialConfig);
- effectiveConfigProps.setProperty(KafkaConfig$.MODULE$.LogDirProp(), logDir.getAbsolutePath());
+ effectiveConfigProps.setProperty(KafkaConfigConstant.LOG_DIR, logDir.getAbsolutePath());
//effectiveConfig.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, effectiveConfig)
effectiveConfigProps.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass().getName());
@@ -150,7 +150,8 @@ private Properties effectiveConfigFrom(final Properties initialConfig) {
* @return the string
*/
public String brokerList() {
- final EndPoint endPoint = ((ArraySeq) kafka.advertisedListeners()).head();
+ // Kafka 3.9.1 returns ArrayBuffer instead of ArraySeq
+ final EndPoint endPoint = ((ArrayBuffer) kafka.advertisedListeners()).head();
final String hostname = endPoint.host() == null ? "" : endPoint.host();
return String.join(":", hostname, Integer.toString(
diff --git a/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/SingleNodeKafkaCluster.java b/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/SingleNodeKafkaCluster.java
index ff4fba6..8891be6 100644
--- a/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/SingleNodeKafkaCluster.java
+++ b/src/test/java/org/eclipse/ecsp/analytics/stream/base/kafka/SingleNodeKafkaCluster.java
@@ -40,10 +40,9 @@
package org.eclipse.ecsp.analytics.stream.base.kafka;
import de.flapdoodle.embed.process.runtime.Network;
-import kafka.server.KafkaConfig;
-import kafka.server.KafkaConfig$;
import org.apache.kafka.common.errors.UnknownTopicOrPartitionException;
import org.apache.kafka.test.TestCondition;
+import org.eclipse.ecsp.analytics.stream.base.constants.KafkaConfigConstant;
import org.eclipse.ecsp.analytics.stream.base.constants.TestConstants;
import org.junit.rules.ExternalResource;
import org.slf4j.Logger;
@@ -123,7 +122,7 @@ public void start() throws Exception {
final Properties effectiveBrokerConfig = effectiveBrokerConfigFrom(brokerConfig, zookeeper);
LOG.debug("Starting a Kafka instance on port {} ...",
- effectiveBrokerConfig.getProperty(KafkaConfig.ListenersProp()));
+ effectiveBrokerConfig.getProperty(KafkaConfigConstant.LISTENERS));
broker = new EmbeddedKafka(effectiveBrokerConfig);
LOG.debug("Kafka instance is running at {}, connected to ZooKeeper at {}",
broker.brokerList(), broker.zookeeperConnect());
@@ -145,19 +144,19 @@ private Properties effectiveBrokerConfigFrom(final Properties brokerConfig, fina
LOG.error("Error fetching kafka port", e);
}
effectiveConfig.putAll(brokerConfig);
- effectiveConfig.put(KafkaConfig$.MODULE$.ZkConnectProp(), zookeeper.connectString());
- effectiveConfig.put(KafkaConfig$.MODULE$.ZkSessionTimeoutMsProp(),
+ effectiveConfig.put(KafkaConfigConstant.ZOOKEEPER_CONNECT, zookeeper.connectString());
+ effectiveConfig.put(KafkaConfigConstant.ZOOKEEPER_SESSION_TIMEOUT_MS,
TestConstants.INT_30 * TestConstants.THOUSAND);
- effectiveConfig.put(KafkaConfig.ListenersProp(), String.format("PLAINTEXT://127.0.0.1:%s", kafkaBrokerPort));
- effectiveConfig.put(KafkaConfig$.MODULE$.ZkConnectionTimeoutMsProp(),
+ effectiveConfig.put(KafkaConfigConstant.LISTENERS, String.format("PLAINTEXT://127.0.0.1:%s", kafkaBrokerPort));
+ effectiveConfig.put(KafkaConfigConstant.ZOOKEEPER_CONNECTION_TIMEOUT_MS,
TestConstants.INT_60 * TestConstants.THOUSAND);
- effectiveConfig.put(KafkaConfig$.MODULE$.DeleteTopicEnableProp(), true);
- effectiveConfig.put(KafkaConfig$.MODULE$.LogCleanerDedupeBufferSizeProp(),
+ effectiveConfig.put(KafkaConfigConstant.DELETE_TOPIC_ENABLE, true);
+ effectiveConfig.put(KafkaConfigConstant.LOG_CLEANER_DEDUPE_BUFFER_SIZE,
TestConstants.TWO * TestConstants.LONG_1024 * TestConstants.LONG_1024);
- effectiveConfig.put(KafkaConfig$.MODULE$.GroupMinSessionTimeoutMsProp(), 0);
- effectiveConfig.put(KafkaConfig$.MODULE$.OffsetsTopicReplicationFactorProp(), (short) 1);
- effectiveConfig.put(KafkaConfig$.MODULE$.OffsetsTopicPartitionsProp(), 1);
- effectiveConfig.put(KafkaConfig$.MODULE$.AutoCreateTopicsEnableProp(), true);
+ effectiveConfig.put(KafkaConfigConstant.GROUP_MIN_SESSION_TIMEOUT_MS, 0);
+ effectiveConfig.put(KafkaConfigConstant.OFFSETS_TOPIC_REPLICATION_FACTOR, (short) 1);
+ effectiveConfig.put(KafkaConfigConstant.OFFSETS_TOPIC_NUM_PARTITIONS, 1);
+ effectiveConfig.put(KafkaConfigConstant.AUTO_CREATE_TOPICS_ENABLE, true);
return effectiveConfig;
}
diff --git a/src/test/resources/logback.xml b/src/test/resources/logback.xml
index 5daf9af..21747c2 100644
--- a/src/test/resources/logback.xml
+++ b/src/test/resources/logback.xml
@@ -33,7 +33,6 @@
-
@@ -48,8 +47,15 @@
-
-
+
+
+
+
+
+
+
+
+