diff --git a/sugoi-api-core/src/main/java/fr/insee/sugoi/core/configuration/EhCacheConfig.java b/sugoi-api-core/src/main/java/fr/insee/sugoi/core/configuration/EhCacheConfig.java index 25fa241b..8b1af0a4 100644 --- a/sugoi-api-core/src/main/java/fr/insee/sugoi/core/configuration/EhCacheConfig.java +++ b/sugoi-api-core/src/main/java/fr/insee/sugoi/core/configuration/EhCacheConfig.java @@ -14,6 +14,8 @@ package fr.insee.sugoi.core.configuration; import net.sf.ehcache.config.CacheConfiguration; + +import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CachingConfigurer; import org.springframework.cache.annotation.EnableCaching; @@ -31,6 +33,9 @@ @EnableCaching public class EhCacheConfig implements CachingConfigurer { + @Value("fr.insee.sugoi.realms.cache-ttl-seconds") + private int cacheTtlSeconds = 3600; + @Bean(destroyMethod = "shutdown") public net.sf.ehcache.CacheManager ehCacheManager() { @@ -38,16 +43,11 @@ public net.sf.ehcache.CacheManager ehCacheManager() { cacheConfiguration.setName("Realms"); cacheConfiguration.setMemoryStoreEvictionPolicy("LRU"); cacheConfiguration.setMaxEntriesLocalHeap(1000); - - CacheConfiguration cacheConfiguration1 = new CacheConfiguration(); - cacheConfiguration1.setName("Realm"); - cacheConfiguration1.setMemoryStoreEvictionPolicy("LRU"); - cacheConfiguration1.setMaxEntriesLocalHeap(1000); + cacheConfiguration.setTimeToLiveSeconds(cacheTtlSeconds); net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration(); config.addCache(cacheConfiguration); - config.addCache(cacheConfiguration1); return net.sf.ehcache.CacheManager.newInstance(config); } diff --git a/sugoi-api-ldap-config-provider/src/main/java/fr/insee/sugoi/config/LdapRealmProviderDAOImpl.java b/sugoi-api-ldap-config-provider/src/main/java/fr/insee/sugoi/config/LdapRealmProviderDAOImpl.java index c7e3717c..7966e25e 100644 --- a/sugoi-api-ldap-config-provider/src/main/java/fr/insee/sugoi/config/LdapRealmProviderDAOImpl.java +++ b/sugoi-api-ldap-config-provider/src/main/java/fr/insee/sugoi/config/LdapRealmProviderDAOImpl.java @@ -311,13 +311,13 @@ public ProviderResponse deleteRealm(String realmName, ProviderRequest providerRe List userStorages = load(realmName) .orElseThrow( - () -> new RealmNotFoundException("The realm " + "test" + " doesn't exist ")) + () -> new RealmNotFoundException("The realm " + realmName + " doesn't exist ")) .getUserStorages(); if (userStorages.size() > 1) { for (UserStorage userStorage : load(realmName) .orElseThrow( - () -> new RealmNotFoundException("The realm " + "test" + " doesn't exist ")) + () -> new RealmNotFoundException("The realm " + realmName + " doesn't exist ")) .getUserStorages()) { ldapConnectionPool.delete(getUserStorageDn(userStorage.getName(), realmName)); } @@ -335,6 +335,7 @@ public ProviderResponse deleteRealm(String realmName, ProviderRequest providerRe } private synchronized LDAPConnectionPool initLdapPoolConnection() { + //TODO use an authenticated connexion try { if (ldapConnectionPool == null || !ldapConnectionPool.getConnectionPoolName().equals(url + "-" + port)) {