branch feature/8158-configureTokenCache created (now 4cc8ba7)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8158-configureTokenCache in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git at 4cc8ba7 Dans la conf serveur ajout de sessionExpirationDelay et de sessio,MaximumSize pour la cache des tokens (see #8158). This branch includes the following new commits: new 4cc8ba7 Dans la conf serveur ajout de sessionExpirationDelay et de sessio,MaximumSize pour la cache des tokens (see #8158). The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 4cc8ba7365ffd284518d69379d6beab5ed6e33d9 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 22 15:12:04 2016 +0100 Dans la conf serveur ajout de sessionExpirationDelay et de sessio,MaximumSize pour la cache des tokens (see #8158). -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8158-configureTokenCache in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 4cc8ba7365ffd284518d69379d6beab5ed6e33d9 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 22 15:12:04 2016 +0100 Dans la conf serveur ajout de sessionExpirationDelay et de sessio,MaximumSize pour la cache des tokens (see #8158). --- .../ird/observe/application/web/ObserveWebApplicationContext.java | 2 +- .../web/configuration/ObserveWebApplicationConfiguration.java | 4 ++++ .../configuration/ObserveWebApplicationConfigurationOption.java | 3 ++- .../web/security/ObserveWebSecurityApplicationContext.java | 8 ++++++-- .../web/security/ObserveWebSecurityAuthenticationTokenCache.java | 8 ++++---- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java index 230be19..b5333af 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java @@ -97,7 +97,7 @@ public class ObserveWebApplicationContext implements Closeable { users = usersHelper.load(databases, applicationConfiguration.getUsersConfigurationFile()); // init security application context - securityApplicationContext = new ObserveWebSecurityApplicationContext(); + securityApplicationContext = new ObserveWebSecurityApplicationContext(applicationConfiguration); Version modelVersion = applicationConfiguration.getModelVersion(); diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java index 933a4af..cf09da2 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java @@ -111,6 +111,10 @@ public class ObserveWebApplicationConfiguration { return applicationConfig.getOptionAsFile(ObserveWebApplicationConfigurationOption.LOG4J_CONFIGURATION_FILE.getKey()); } + public int getSessionMaximumSize() { + return applicationConfig.getOptionAsInt(ObserveWebApplicationConfigurationOption.SESSION_MAXIMUM_SIZE.getKey()); + } + public int getSessionExpirationDelay() { return applicationConfig.getOptionAsInt(ObserveWebApplicationConfigurationOption.SESSION_EXPIRATION_DELAY.getKey()); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java index 3205f03..2776124 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java @@ -59,7 +59,8 @@ public enum ObserveWebApplicationConfigurationOption implements ConfigOptionDef LOG4J_CONFIGURATION_FILE("observeweb.log4jConfigurationFile", n("observeweb.log4jConfigurationFile.description"), "${observeweb.baseDirectory}/observeweb-log4j.conf", String.class), DATABASES_CONFIGURATION_FILE("observeweb.databasesConfigurationFile", n("observeweb.databasesConfigurationFile.description"), "${observeweb.baseDirectory}/databases.yml", File.class), USERS_CONFIGURATION_FILE("observeweb.usersConfigurationFile", n("observeweb.usersConfigurationFile.description"), "${observeweb.baseDirectory}/users.yml", File.class), - SESSION_EXPIRATION_DELAY("observeweb.sessionExpirationDelay", n("observeweb.sessionExpirationDelay.description"), "60" /* en minutes */, int.class); + SESSION_EXPIRATION_DELAY("observeweb.sessionExpirationDelay", n("observeweb.sessionExpirationDelay.description"), "60" /* en minutes */, int.class), + SESSION_MAXIMUM_SIZE("observeweb.sessionMaximumSize", n("observeweb.sessionMaximumSize.description"), "10000", int.class); ObserveWebApplicationConfigurationOption(String key, String description, String defaultValue, Class<?> type) { this.key = key; diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityApplicationContext.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityApplicationContext.java index bf57c8b..10bd677 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityApplicationContext.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityApplicationContext.java @@ -26,6 +26,7 @@ import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.ImmutableMap; +import fr.ird.observe.application.web.configuration.ObserveWebApplicationConfiguration; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabase; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabaseRole; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabases; @@ -88,8 +89,11 @@ public class ObserveWebSecurityApplicationContext implements Closeable { protected ObserveWebUsers<?> users; - public ObserveWebSecurityApplicationContext() { - this.authenticateCache = new ObserveWebSecurityAuthenticationTokenCache(); + public ObserveWebSecurityApplicationContext(ObserveWebApplicationConfiguration configuration) { + this.authenticateCache = new ObserveWebSecurityAuthenticationTokenCache( + configuration.getSessionMaximumSize(), + configuration.getSessionExpirationDelay() + ); this.dataSourceConfigurationFactory = new ObserveDataSourceConfigurationMainFactory(); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityAuthenticationTokenCache.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityAuthenticationTokenCache.java index a38f9d2..8f744b7 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityAuthenticationTokenCache.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/security/ObserveWebSecurityAuthenticationTokenCache.java @@ -51,11 +51,11 @@ public class ObserveWebSecurityAuthenticationTokenCache implements Closeable { */ protected final Cache<String, ObserveDataSourceConfigurationAndConnection> authenticationTokenCache; - public ObserveWebSecurityAuthenticationTokenCache() { + public ObserveWebSecurityAuthenticationTokenCache(int maximumSize, int expireDelay) { this.authenticationTokenCache = CacheBuilder.newBuilder() - .maximumSize(10000) - .expireAfterWrite(20, TimeUnit.MINUTES) - .expireAfterAccess(20, TimeUnit.MINUTES) + .maximumSize(maximumSize) + .expireAfterWrite(expireDelay, TimeUnit.MINUTES) + .expireAfterAccess(expireDelay, TimeUnit.MINUTES) .removalListener(new RemovalListener<String, ObserveDataSourceConfigurationAndConnection>() { @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm