From 10e96f387a0ab469728302ae72b3fdf864700e57 Mon Sep 17 00:00:00 2001 From: Alexander Schwartz Date: Mon, 29 May 2023 13:05:31 -0300 Subject: [PATCH] Upgrade to latest Infinispan version 14.0.8 --- .../initializer/InfinispanCacheInitializer.java | 11 +++++------ pom.xml | 2 +- quarkus/runtime/src/main/resources/cache-ispn.xml | 4 ++-- quarkus/runtime/src/main/resources/cache-local.xml | 4 ++-- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanCacheInitializer.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanCacheInitializer.java index f7369e5b099..affc7471aba 100755 --- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanCacheInitializer.java +++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanCacheInitializer.java @@ -18,7 +18,6 @@ package org.keycloak.models.sessions.infinispan.initializer; import org.infinispan.Cache; -import org.infinispan.commons.CacheConfigurationException; import org.infinispan.commons.CacheException; import org.infinispan.factories.ComponentRegistry; import org.infinispan.manager.ClusterExecutor; @@ -63,12 +62,12 @@ public class InfinispanCacheInitializer extends BaseCacheInitializer { @Override public void initCache() { - final ComponentRegistry cr = this.workCache.getAdvancedCache().getComponentRegistry(); - try { - cr.registerComponent(sessionFactory, KeycloakSessionFactory.class); - } catch (UnsupportedOperationException | CacheConfigurationException ex) { + // due to lazy initialization, this might be called from multiple threads simultaneously, therefore, synchronize + synchronized (workCache) { + final ComponentRegistry cr = this.workCache.getAdvancedCache().getComponentRegistry(); + // first check if already set, as Infinispan would otherwise throw a RuntimeException if (cr.getComponent(KeycloakSessionFactory.class) != sessionFactory) { - throw ex; + cr.registerComponent(sessionFactory, KeycloakSessionFactory.class); } } } diff --git a/pom.xml b/pom.xml index 755e8841f84..1305465eba7 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ 6.0.0 5.6.14.Final ${hibernate-orm.version} - 14.0.7.Final + 14.0.8.Final 4.6.0.Final 2.13.4 2.13.4.2 diff --git a/quarkus/runtime/src/main/resources/cache-ispn.xml b/quarkus/runtime/src/main/resources/cache-ispn.xml index 0c21e3c1e71..59880c1a857 100644 --- a/quarkus/runtime/src/main/resources/cache-ispn.xml +++ b/quarkus/runtime/src/main/resources/cache-ispn.xml @@ -18,8 +18,8 @@ + xsi:schemaLocation="urn:infinispan:config:14.0 http://www.infinispan.org/schemas/infinispan-config-14.0.xsd" + xmlns="urn:infinispan:config:14.0"> diff --git a/quarkus/runtime/src/main/resources/cache-local.xml b/quarkus/runtime/src/main/resources/cache-local.xml index 758fde8b3b9..b44185402a9 100644 --- a/quarkus/runtime/src/main/resources/cache-local.xml +++ b/quarkus/runtime/src/main/resources/cache-local.xml @@ -18,8 +18,8 @@ + xsi:schemaLocation="urn:infinispan:config:14.0 http://www.infinispan.org/schemas/infinispan-config-14.0.xsd" + xmlns="urn:infinispan:config:14.0">