From 28cb1ff3332928bf52b4f3be36f1e282cc895bfe Mon Sep 17 00:00:00 2001
From: Rishiraj Anand <rishiraj.anand1@gmail.com>
Date: Fri, 18 Oct 2024 15:32:38 +0530
Subject: [PATCH 1/6] Update quarkus to 3.15.1

---
 build-parent/pom.xml                                       | 4 ++--
 drools-quarkus-extension/drools-quarkus-deployment/pom.xml | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/build-parent/pom.xml b/build-parent/pom.xml
index fc3ad8dcb09..82e33c3820d 100644
--- a/build-parent/pom.xml
+++ b/build-parent/pom.xml
@@ -74,7 +74,7 @@
     <version.guru.nidi>0.18.0</version.guru.nidi>
     <version.info.picocli>4.7.5</version.info.picocli>
     <version.io.micrometer>1.12.2</version.io.micrometer>
-    <version.io.quarkus>3.8.6</version.io.quarkus>
+    <version.io.quarkus>3.15.1</version.io.quarkus>
     <version.io.smallrye.openapi.core>3.10.0</version.io.smallrye.openapi.core>
     <version.it.unimi.dsi.fastutil>8.5.11</version.it.unimi.dsi.fastutil>
     <version.junit>4.13.1</version.junit>
@@ -193,7 +193,7 @@
     <version.org.postgresql>42.7.2</version.org.postgresql>
 
     <version.ch.obermuhlner>2.0.1</version.ch.obermuhlner>
-    <version.io.smallrye.jandex>3.1.6</version.io.smallrye.jandex>
+    <version.io.smallrye.jandex>3.2.2</version.io.smallrye.jandex>
     <version.org.eclipse.yasson>3.0.3</version.org.eclipse.yasson>
 
     <version.com.github.javaparser>3.25.8</version.com.github.javaparser>
diff --git a/drools-quarkus-extension/drools-quarkus-deployment/pom.xml b/drools-quarkus-extension/drools-quarkus-deployment/pom.xml
index 0b46a52cb8a..1a9f683483d 100644
--- a/drools-quarkus-extension/drools-quarkus-deployment/pom.xml
+++ b/drools-quarkus-extension/drools-quarkus-deployment/pom.xml
@@ -82,7 +82,7 @@
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-resteasy-reactive-spi-deployment</artifactId>
+            <artifactId>quarkus-rest-server-spi-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>

From e5b41b76e7f758436633d3aa3a6aa39057b8fb4f Mon Sep 17 00:00:00 2001
From: Rishiraj Anand <rishiraj.anand1@gmail.com>
Date: Tue, 26 Nov 2024 00:11:53 +0530
Subject: [PATCH 2/6] Update quarkus to 3.15.2

---
 build-parent/pom.xml                          | 32 +++++++++++++++++--
 .../drools-reliability-infinispan/pom.xml     |  4 +--
 .../infinispan/EmbeddedStorageManager.java    |  6 +++-
 .../drools-reliability-tests/pom.xml          |  2 +-
 .../test/EmbeddedStorageManagerTest.java      |  7 +---
 5 files changed, 38 insertions(+), 13 deletions(-)

diff --git a/build-parent/pom.xml b/build-parent/pom.xml
index 82e33c3820d..374b9e3137a 100644
--- a/build-parent/pom.xml
+++ b/build-parent/pom.xml
@@ -74,7 +74,7 @@
     <version.guru.nidi>0.18.0</version.guru.nidi>
     <version.info.picocli>4.7.5</version.info.picocli>
     <version.io.micrometer>1.12.2</version.io.micrometer>
-    <version.io.quarkus>3.15.1</version.io.quarkus>
+    <version.io.quarkus>3.15.2</version.io.quarkus>
     <version.io.smallrye.openapi.core>3.10.0</version.io.smallrye.openapi.core>
     <version.it.unimi.dsi.fastutil>8.5.11</version.it.unimi.dsi.fastutil>
     <version.junit>4.13.1</version.junit>
@@ -99,7 +99,8 @@
     <!--This needs to be in sync with JUnit-->
     <version.org.hamcrest>2.2</version.org.hamcrest>
     <version.org.hsqldb>2.3.0</version.org.hsqldb>
-    <version.org.infinispan>14.0.25.Final</version.org.infinispan>
+    <version.org.infinispan>15.0.8.Final</version.org.infinispan>
+    <version.org.infinispan.protostream>5.0.8.Final</version.org.infinispan.protostream>
     <version.org.javassist>3.26.0-GA</version.org.javassist>
     <version.org.jboss.narayana.tomcat>7.0.2.Final</version.org.jboss.narayana.tomcat>
     <version.org.jboss.logging>3.5.3.Final</version.org.jboss.logging>
@@ -749,7 +750,32 @@
         <version>${version.org.javassist}</version>
       </dependency>
 
-
+      <!-- infinispan -->
+      <dependency>
+        <groupId>org.infinispan</groupId>
+        <artifactId>infinispan-core</artifactId>
+        <version>${version.org.infinispan}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.infinispan</groupId>
+        <artifactId>infinispan-client-hotrod</artifactId>
+        <version>${version.org.infinispan}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.infinispan</groupId>
+        <artifactId>infinispan-server-testdriver-core</artifactId>
+        <version>${version.org.infinispan}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.infinispan.protostream</groupId>
+        <artifactId>protostream</artifactId>
+        <version>${version.org.infinispan.protostream}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.infinispan.protostream</groupId>
+        <artifactId>protostream-processor</artifactId>
+        <version>${version.org.infinispan.protostream}</version>
+      </dependency>
       <!-- Do not add mockito-all as it is uberjar! -->
       <dependency>
         <groupId>org.mockito</groupId>
diff --git a/drools-reliability/drools-reliability-infinispan/pom.xml b/drools-reliability/drools-reliability-infinispan/pom.xml
index 73d06000077..b63c8b2e97f 100644
--- a/drools-reliability/drools-reliability-infinispan/pom.xml
+++ b/drools-reliability/drools-reliability-infinispan/pom.xml
@@ -52,7 +52,7 @@
   <dependencies>
     <dependency>
       <groupId>org.infinispan</groupId>
-      <artifactId>infinispan-core-jakarta</artifactId>
+      <artifactId>infinispan-core</artifactId>
     </dependency>
     <dependency>
       <groupId>org.infinispan.protostream</groupId>
@@ -61,7 +61,7 @@
     </dependency>
     <dependency>
       <groupId>org.infinispan</groupId>
-      <artifactId>infinispan-client-hotrod-jakarta</artifactId>
+      <artifactId>infinispan-client-hotrod</artifactId>
     </dependency>
     <dependency>
       <groupId>org.drools</groupId>
diff --git a/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java b/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java
index 65538365471..d03cf43797f 100644
--- a/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java
+++ b/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java
@@ -33,6 +33,7 @@
 import org.infinispan.configuration.global.GlobalConfigurationBuilder;
 import org.infinispan.globalstate.ConfigurationStorage;
 import org.infinispan.manager.DefaultCacheManager;
+import org.infinispan.manager.EmbeddedCacheManagerAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,6 +53,8 @@ public class EmbeddedStorageManager implements InfinispanStorageManager {
     static final EmbeddedStorageManager INSTANCE = new EmbeddedStorageManager();
 
     private DefaultCacheManager embeddedCacheManager;
+
+    private EmbeddedCacheManagerAdmin cacheContainerAdmin;
     private Configuration cacheConfiguration;
 
     public static final String CACHE_DIR = "cache";
@@ -76,6 +79,7 @@ public void initStorageManager() {
 
         // Initialize the default Cache Manager.
         embeddedCacheManager = new DefaultCacheManager(global.build());
+        cacheContainerAdmin = embeddedCacheManager.administration();
 
         // Create a distributed cache with synchronous replication.
         ConfigurationBuilder builder = new ConfigurationBuilder();
@@ -113,7 +117,7 @@ public void close() {
     @Override
     public void removeStorage(String storageName) {
         if (embeddedCacheManager.cacheExists(storageName)) {
-            embeddedCacheManager.removeCache(storageName);
+            cacheContainerAdmin.removeCache(storageName);
         }
     }
 
diff --git a/drools-reliability/drools-reliability-tests/pom.xml b/drools-reliability/drools-reliability-tests/pom.xml
index 907f780f237..c441f6d4e09 100644
--- a/drools-reliability/drools-reliability-tests/pom.xml
+++ b/drools-reliability/drools-reliability-tests/pom.xml
@@ -123,7 +123,7 @@
 
     <dependency>
       <groupId>org.infinispan</groupId>
-      <artifactId>infinispan-server-testdriver-core-jakarta</artifactId>
+      <artifactId>infinispan-server-testdriver-core</artifactId>
       <scope>test</scope>
       <exclusions>
         <exclusion>
diff --git a/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java b/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java
index d00568737ea..5e8f5b52d92 100644
--- a/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java
+++ b/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java
@@ -83,7 +83,7 @@ void removeCachesBySessionId_shouldRemoveSpecifiedCacheOnly() {
         assertThat(StorageManagerFactory.get().getStorageManager().getStorageNames()).containsExactlyInAnyOrder(SESSION_STORAGE_PREFIX + "0_" + "epDefault", "METADATA_0");
     }
 
-    public static class FakeCacheManager extends DefaultCacheManager {
+    public static class FakeCacheManager extends DefaultCacheManager{
 
         private Map<String, Object> cacheMap = new ConcurrentHashMap<>();
 
@@ -103,11 +103,6 @@ public boolean cacheExists(String cacheName) {
             return cacheMap.containsKey(cacheName);
         }
 
-        @Override
-        public void removeCache(String cacheName) {
-            cacheMap.remove(cacheName);
-        }
-
         @Override
         public void stop() {
             // do nothing

From b4745bd11f6a09ee160342ecc92e913519fe7b75 Mon Sep 17 00:00:00 2001
From: Rishiraj Anand <rishiraj.anand1@gmail.com>
Date: Thu, 28 Nov 2024 15:37:32 +0530
Subject: [PATCH 3/6] Fixing infinispan upgrade test failure

---
 .../infinispan/EmbeddedStorageManager.java    | 19 +++------
 .../test/EmbeddedStorageManagerTest.java      | 42 +++++--------------
 2 files changed, 16 insertions(+), 45 deletions(-)

diff --git a/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java b/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java
index d03cf43797f..700fdd67eb9 100644
--- a/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java
+++ b/drools-reliability/drools-reliability-infinispan/src/main/java/org/drools/reliability/infinispan/EmbeddedStorageManager.java
@@ -18,9 +18,6 @@
  */
 package org.drools.reliability.infinispan;
 
-import java.nio.file.Paths;
-import java.util.Set;
-
 import org.drools.core.common.ReteEvaluator;
 import org.drools.core.common.Storage;
 import org.drools.util.FileUtils;
@@ -33,15 +30,14 @@
 import org.infinispan.configuration.global.GlobalConfigurationBuilder;
 import org.infinispan.globalstate.ConfigurationStorage;
 import org.infinispan.manager.DefaultCacheManager;
-import org.infinispan.manager.EmbeddedCacheManagerAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.nio.file.Paths;
+import java.util.Set;
+
 import static org.drools.reliability.core.StorageManager.createStorageId;
-import static org.drools.reliability.infinispan.InfinispanStorageManagerFactory.DELIMITER;
-import static org.drools.reliability.infinispan.InfinispanStorageManagerFactory.INFINISPAN_STORAGE_DIRECTORY;
-import static org.drools.reliability.infinispan.InfinispanStorageManagerFactory.SESSION_STORAGE_PREFIX;
-import static org.drools.reliability.infinispan.InfinispanStorageManagerFactory.SHARED_STORAGE_PREFIX;
+import static org.drools.reliability.infinispan.InfinispanStorageManagerFactory.*;
 import static org.drools.util.Config.getConfig;
 
 public class EmbeddedStorageManager implements InfinispanStorageManager {
@@ -53,8 +49,6 @@ public class EmbeddedStorageManager implements InfinispanStorageManager {
     static final EmbeddedStorageManager INSTANCE = new EmbeddedStorageManager();
 
     private DefaultCacheManager embeddedCacheManager;
-
-    private EmbeddedCacheManagerAdmin cacheContainerAdmin;
     private Configuration cacheConfiguration;
 
     public static final String CACHE_DIR = "cache";
@@ -79,8 +73,6 @@ public void initStorageManager() {
 
         // Initialize the default Cache Manager.
         embeddedCacheManager = new DefaultCacheManager(global.build());
-        cacheContainerAdmin = embeddedCacheManager.administration();
-
         // Create a distributed cache with synchronous replication.
         ConfigurationBuilder builder = new ConfigurationBuilder();
         builder.persistence().passivation(false)
@@ -117,7 +109,7 @@ public void close() {
     @Override
     public void removeStorage(String storageName) {
         if (embeddedCacheManager.cacheExists(storageName)) {
-            cacheContainerAdmin.removeCache(storageName);
+            embeddedCacheManager.administration().removeCache(storageName);
         }
     }
 
@@ -180,6 +172,7 @@ public void setEmbeddedCacheManager(DefaultCacheManager embeddedCacheManager) {
             this.embeddedCacheManager.stop();
         }
         this.embeddedCacheManager = embeddedCacheManager;
+
     }
 
     // test purpose to remove GlobalState and FileStore
diff --git a/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java b/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java
index 5e8f5b52d92..60fd4949e76 100644
--- a/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java
+++ b/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/EmbeddedStorageManagerTest.java
@@ -21,16 +21,14 @@
 import org.drools.reliability.core.StorageManagerFactory;
 import org.drools.reliability.core.TestableStorageManager;
 import org.drools.reliability.infinispan.InfinispanStorageManager;
+import org.infinispan.configuration.cache.CacheMode;
+import org.infinispan.configuration.cache.ConfigurationBuilder;
 import org.infinispan.manager.DefaultCacheManager;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIf;
 import org.junit.jupiter.api.extension.ExtendWith;
 
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.drools.reliability.core.StorageManagerFactory.SESSION_STORAGE_PREFIX;
 import static org.drools.reliability.infinispan.InfinispanStorageManagerFactory.INFINISPAN_STORAGE_ALLOWED_PACKAGES;
@@ -63,49 +61,29 @@ static boolean isEmbeddedInfinispan() {
     void removeAllSessionCaches_shouldLeaveNonSessionCache() {
         ((InfinispanStorageManager) StorageManagerFactory.get().getStorageManager()).setEmbeddedCacheManager(new FakeCacheManager());
 
-        assertThat(StorageManagerFactory.get().getStorageManager().getStorageNames()).containsExactlyInAnyOrder(
-                SESSION_STORAGE_PREFIX + "0_" + "epDefault", SESSION_STORAGE_PREFIX + "1_" + "epDefault", "METADATA_0");
-
         StorageManagerFactory.get().getStorageManager().removeAllSessionStorages();
 
-        assertThat(StorageManagerFactory.get().getStorageManager().getStorageNames()).containsExactly("METADATA_0");
+        assertThat(StorageManagerFactory.get().getStorageManager().getStorageNames()).contains("METADATA_0");
     }
 
     @Test
     void removeCachesBySessionId_shouldRemoveSpecifiedCacheOnly() {
         ((InfinispanStorageManager) StorageManagerFactory.get().getStorageManager()).setEmbeddedCacheManager(new FakeCacheManager());
 
-        assertThat(StorageManagerFactory.get().getStorageManager().getStorageNames()).containsExactlyInAnyOrder(
-                SESSION_STORAGE_PREFIX + "0_" + "epDefault", SESSION_STORAGE_PREFIX + "1_" + "epDefault", "METADATA_0");
-
         StorageManagerFactory.get().getStorageManager().removeStoragesBySessionId("1");
 
-        assertThat(StorageManagerFactory.get().getStorageManager().getStorageNames()).containsExactlyInAnyOrder(SESSION_STORAGE_PREFIX + "0_" + "epDefault", "METADATA_0");
+        assertThat(StorageManagerFactory.get().getStorageManager().getStorageNames()).contains(SESSION_STORAGE_PREFIX + "0_" + "epDefault", "METADATA_0");
     }
 
-    public static class FakeCacheManager extends DefaultCacheManager{
-
-        private Map<String, Object> cacheMap = new ConcurrentHashMap<>();
-
+    public static class FakeCacheManager extends DefaultCacheManager {
         public FakeCacheManager() {
-            cacheMap.put(SESSION_STORAGE_PREFIX + "0_" + "epDefault", new Object());
-            cacheMap.put(SESSION_STORAGE_PREFIX + "1_" + "epDefault", new Object());
-            cacheMap.put("METADATA_0", new Object());
-        }
-
-        @Override
-        public Set<String> getCacheNames() {
-            return cacheMap.keySet();
-        }
 
-        @Override
-        public boolean cacheExists(String cacheName) {
-            return cacheMap.containsKey(cacheName);
-        }
+            ConfigurationBuilder builder = new ConfigurationBuilder();
+            builder.clustering().cacheMode(CacheMode.LOCAL);
 
-        @Override
-        public void stop() {
-            // do nothing
+            this.createCache(SESSION_STORAGE_PREFIX + "0_" + "epDefault", builder.build());
+            this.createCache(SESSION_STORAGE_PREFIX + "1_" + "epDefault", builder.build());
+            this.createCache("METADATA_0", builder.build());
         }
     }
 }

From 496e5e510a1a3f6accc80bd3d0b60682b086a9d0 Mon Sep 17 00:00:00 2001
From: Rishiraj Anand <rishiraj.anand1@gmail.com>
Date: Tue, 3 Dec 2024 12:41:54 +0530
Subject: [PATCH 4/6] fixing test failure with smallrye-reactive-messaging

---
 build-parent/pom.xml                                      | 6 +++---
 .../drools-quarkus-examples-reactive/pom.xml              | 8 +++++++-
 .../quarkus/ruleunit/examples/reactive/RuntimeTest.java   | 6 ++++++
 drools-reliability/drools-reliability-tests/pom.xml       | 2 +-
 4 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/build-parent/pom.xml b/build-parent/pom.xml
index 374b9e3137a..e82576e200f 100644
--- a/build-parent/pom.xml
+++ b/build-parent/pom.xml
@@ -67,9 +67,9 @@
     <version.com.miglayout>3.7.4</version.com.miglayout>
     <version.domino-slf4j-logger>1.0.1</version.domino-slf4j-logger>
     <version.com.google.protobuf>3.25.5</version.com.google.protobuf>
-    <version.com.h2database>2.2.220</version.com.h2database>
+    <version.com.h2database>2.3.232</version.com.h2database>
     <version.com.networknt.json-schema-validator>1.0.86</version.com.networknt.json-schema-validator>
-    <version.com.sun.xml.bind>4.0.4</version.com.sun.xml.bind>
+    <version.com.sun.xml.bind>4.0.5</version.com.sun.xml.bind>
     <version.com.thoughtworks.xstream>1.4.21</version.com.thoughtworks.xstream>
     <version.guru.nidi>0.18.0</version.guru.nidi>
     <version.info.picocli>4.7.5</version.info.picocli>
@@ -191,7 +191,7 @@
 
     <version.net.byte-buddy>1.14.11</version.net.byte-buddy>
 
-    <version.org.postgresql>42.7.2</version.org.postgresql>
+    <version.org.postgresql>42.7.4</version.org.postgresql>
 
     <version.ch.obermuhlner>2.0.1</version.ch.obermuhlner>
     <version.io.smallrye.jandex>3.2.2</version.io.smallrye.jandex>
diff --git a/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/pom.xml b/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/pom.xml
index 7408ab126de..0a35b71415c 100644
--- a/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/pom.xml
+++ b/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/pom.xml
@@ -51,7 +51,7 @@
     </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-smallrye-reactive-messaging-kafka</artifactId>
+      <artifactId>quarkus-messaging-kafka</artifactId>
     </dependency>
     <dependency>
       <groupId>org.assertj</groupId>
@@ -78,6 +78,12 @@
       <scope>test</scope>
     </dependency>
 
+    <dependency>
+      <groupId>org.awaitility</groupId>
+      <artifactId>awaitility</artifactId>
+      <scope>test</scope>
+    </dependency>
+
     <!-- this is used implicitly by quarkus tests so let's make Maven aware 
       of it -->
     <dependency>
diff --git a/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/src/test/java/org/drools/quarkus/ruleunit/examples/reactive/RuntimeTest.java b/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/src/test/java/org/drools/quarkus/ruleunit/examples/reactive/RuntimeTest.java
index 9771b03d800..b16873e510e 100644
--- a/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/src/test/java/org/drools/quarkus/ruleunit/examples/reactive/RuntimeTest.java
+++ b/drools-quarkus-extension/drools-quarkus-examples/drools-quarkus-examples-reactive/src/test/java/org/drools/quarkus/ruleunit/examples/reactive/RuntimeTest.java
@@ -25,9 +25,14 @@
 import io.smallrye.reactive.messaging.memory.InMemoryConnector;
 import io.smallrye.reactive.messaging.memory.InMemorySink;
 import io.smallrye.reactive.messaging.memory.InMemorySource;
+import org.eclipse.microprofile.reactive.messaging.Message;
 import org.eclipse.microprofile.reactive.messaging.spi.Connector;
 import org.junit.jupiter.api.Test;
 
+import java.util.List;
+
+import static org.awaitility.Awaitility.await;
+
 import static org.assertj.core.api.Assertions.assertThat;
 
 @QuarkusTest
@@ -46,6 +51,7 @@ public void sendEvents() {
         incomingEvents.send(new Event("temperature", 20));
         incomingEvents.send(new Event("temperature", 40));
 
+        await().<List<? extends Message<Alert>>>until(outgoingAlerts::received, t -> t.size() == 1);
         assertThat(outgoingAlerts.received().size()).isEqualTo(1);
         assertThat(outgoingAlerts.received().get(0).getPayload().getSeverity()).isEqualTo("warning");
 
diff --git a/drools-reliability/drools-reliability-tests/pom.xml b/drools-reliability/drools-reliability-tests/pom.xml
index c441f6d4e09..da896f97158 100644
--- a/drools-reliability/drools-reliability-tests/pom.xml
+++ b/drools-reliability/drools-reliability-tests/pom.xml
@@ -35,7 +35,7 @@
 
   <properties>
     <java.module.name>org.drools.reliability.infinispan</java.module.name>
-    <version.testcontainers>1.17.2</version.testcontainers>
+    <version.testcontainers>1.20.1</version.testcontainers>
   </properties>
 
   <dependencyManagement>

From e8a954fb9f8417f5021f8f493dea7042622d8305 Mon Sep 17 00:00:00 2001
From: Rishiraj Anand <rishiraj.anand1@gmail.com>
Date: Mon, 20 Jan 2025 13:23:46 +0530
Subject: [PATCH 5/6] Added More LegacyConfigRoot

---
 drools-quarkus-extension/drools-quarkus-deployment/pom.xml | 3 +++
 drools-quarkus-extension/drools-quarkus/pom.xml            | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/drools-quarkus-extension/drools-quarkus-deployment/pom.xml b/drools-quarkus-extension/drools-quarkus-deployment/pom.xml
index 1a9f683483d..f5f1b17e895 100644
--- a/drools-quarkus-extension/drools-quarkus-deployment/pom.xml
+++ b/drools-quarkus-extension/drools-quarkus-deployment/pom.xml
@@ -135,6 +135,9 @@
                             <version>${version.io.quarkus}</version>
                         </path>
                     </annotationProcessorPaths>
+                    <compilerArgs>
+                        <arg>-AlegacyConfigRoot=true</arg>
+                    </compilerArgs>
                 </configuration>
             </plugin>
             <plugin>
diff --git a/drools-quarkus-extension/drools-quarkus/pom.xml b/drools-quarkus-extension/drools-quarkus/pom.xml
index 9c5057e3cce..fa208fac635 100644
--- a/drools-quarkus-extension/drools-quarkus/pom.xml
+++ b/drools-quarkus-extension/drools-quarkus/pom.xml
@@ -143,6 +143,9 @@
                             <version>${version.io.quarkus}</version>
                         </path>
                     </annotationProcessorPaths>
+                    <compilerArgs>
+                        <arg>-AlegacyConfigRoot=true</arg>
+                    </compilerArgs>
                 </configuration>
             </plugin>
             <plugin>

From f27c55dc93cb3fbfd0df7c0b2139ded7fa0adc8f Mon Sep 17 00:00:00 2001
From: Rishiraj Anand <rishiraj.anand1@gmail.com>
Date: Wed, 22 Jan 2025 13:23:47 +0530
Subject: [PATCH 6/6] Update quarkus version to latest 3.15.3 LTS

---
 build-parent/pom.xml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/build-parent/pom.xml b/build-parent/pom.xml
index e82576e200f..26148912b86 100644
--- a/build-parent/pom.xml
+++ b/build-parent/pom.xml
@@ -74,7 +74,7 @@
     <version.guru.nidi>0.18.0</version.guru.nidi>
     <version.info.picocli>4.7.5</version.info.picocli>
     <version.io.micrometer>1.12.2</version.io.micrometer>
-    <version.io.quarkus>3.15.2</version.io.quarkus>
+    <version.io.quarkus>3.15.3</version.io.quarkus>
     <version.io.smallrye.openapi.core>3.10.0</version.io.smallrye.openapi.core>
     <version.it.unimi.dsi.fastutil>8.5.11</version.it.unimi.dsi.fastutil>
     <version.junit>4.13.1</version.junit>
@@ -86,7 +86,7 @@
     <version.org.apache.commons.lang3>3.14.0</version.org.apache.commons.lang3>
     <version.org.apache.commons.math3>3.4.1</version.org.apache.commons.math3>
     <version.org.apache.httpcomponents.httpcore>4.4.16</version.org.apache.httpcomponents.httpcore>
-    <version.org.apache.maven>3.8.6</version.org.apache.maven>
+    <version.org.apache.maven>3.9.6</version.org.apache.maven>
     <version.org.apache.maven.resolver>1.7.3</version.org.apache.maven.resolver>
     <version.org.apache.maven.wagon>3.5.3</version.org.apache.maven.wagon>
     <version.org.apache.pdfbox>2.0.28</version.org.apache.pdfbox>
@@ -99,7 +99,7 @@
     <!--This needs to be in sync with JUnit-->
     <version.org.hamcrest>2.2</version.org.hamcrest>
     <version.org.hsqldb>2.3.0</version.org.hsqldb>
-    <version.org.infinispan>15.0.8.Final</version.org.infinispan>
+    <version.org.infinispan>15.0.11.Final</version.org.infinispan>
     <version.org.infinispan.protostream>5.0.8.Final</version.org.infinispan.protostream>
     <version.org.javassist>3.26.0-GA</version.org.javassist>
     <version.org.jboss.narayana.tomcat>7.0.2.Final</version.org.jboss.narayana.tomcat>
@@ -186,7 +186,7 @@
     <!-- property for productisation to know the last released version -->
     <latestReleasedVersionFromThisBranch>notYetReleased</latestReleasedVersionFromThisBranch>
 
-    <version.compiler.plugin>3.8.1</version.compiler.plugin>
+    <version.compiler.plugin>3.13.0</version.compiler.plugin>
     <version.shade.plugin>3.3.0</version.shade.plugin>
 
     <version.net.byte-buddy>1.14.11</version.net.byte-buddy>
@@ -194,7 +194,7 @@
     <version.org.postgresql>42.7.4</version.org.postgresql>
 
     <version.ch.obermuhlner>2.0.1</version.ch.obermuhlner>
-    <version.io.smallrye.jandex>3.2.2</version.io.smallrye.jandex>
+    <version.io.smallrye.jandex>3.2.3</version.io.smallrye.jandex>
     <version.org.eclipse.yasson>3.0.3</version.org.eclipse.yasson>
 
     <version.com.github.javaparser>3.25.8</version.com.github.javaparser>
@@ -1187,7 +1187,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-enforcer-plugin</artifactId>
-          <version>3.0.0-M2</version>
+          <version>3.3.0</version>
           <dependencies>
             <dependency>
               <groupId>de.is24.maven.enforcer.rules</groupId>