diff --git a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java index 2a3a6172..9635e1d4 100644 --- a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java +++ b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java @@ -27,8 +27,8 @@ import java.util.stream.Stream; import org.apache.catalina.Context; -import org.wildfly.clustering.web.cache.session.ImmutableSessionAttributesFilter; -import org.wildfly.clustering.web.cache.session.SessionAttributesFilter; +import org.wildfly.clustering.web.cache.session.attributes.coarse.ImmutableSessionAttributesFilter; +import org.wildfly.clustering.web.cache.session.attributes.coarse.SessionAttributesFilter; import org.wildfly.clustering.web.session.ImmutableSession; import jakarta.servlet.http.HttpSessionBindingEvent; diff --git a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java index a68862a8..caa33709 100644 --- a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java +++ b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java @@ -128,7 +128,7 @@ public int getMaxInactiveInterval() { public void setMaxInactiveInterval(int interval) { Session session = this.session.get(); try (BatchContext context = this.resumeBatch()) { - session.getMetaData().setMaxInactiveInterval((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); + session.getMetaData().setTimeout((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); } catch (IllegalStateException e) { this.closeIfInvalid(session); throw e; @@ -232,7 +232,7 @@ public void tellChangedSessionId(String newId, String oldId, boolean notifySessi for (String name: oldSession.getAttributes().getAttributeNames()) { newSession.getAttributes().setAttribute(name, oldSession.getAttributes().getAttribute(name)); } - newSession.getMetaData().setMaxInactiveInterval(oldSession.getMetaData().getTimeout()); + newSession.getMetaData().setTimeout(oldSession.getMetaData().getTimeout()); newSession.getMetaData().setLastAccess(oldSession.getMetaData().getLastAccessStartTime(), oldSession.getMetaData().getLastAccessTime()); newSession.getLocalContext().setAuthType(oldSession.getLocalContext().getAuthType()); newSession.getLocalContext().setPrincipal(oldSession.getLocalContext().getPrincipal()); diff --git a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java index f652ba01..025cc8cb 100644 --- a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java +++ b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java @@ -144,7 +144,7 @@ public int getMaxInactiveInterval() { public void setMaxInactiveInterval(int interval) { Session session = this.session.get(); try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - session.getMetaData().setMaxInactiveInterval((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); + session.getMetaData().setTimeout((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); } catch (IllegalStateException e) { this.closeIfInvalid.accept(session); throw e; diff --git a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java deleted file mode 100644 index d44dc586..00000000 --- a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * JBoss, Home of Professional Open Source. - * Copyright 2016, Red Hat, Inc., and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.wildfly.clustering.tomcat.catalina; - -import org.wildfly.clustering.web.LocalContextFactory; - -/** - * Create a local (i.e. non-persistent) context for a Tomcat session. - * @author Paul Ferraro - */ -public enum LocalSessionContextFactory implements LocalContextFactory { - INSTANCE; - - @Override - public LocalSessionContext createLocalContext() { - return new LocalSessionContext(); - } -} diff --git a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/authenticator/LocalSSOContextFactory.java b/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/authenticator/LocalSSOContextFactory.java deleted file mode 100644 index 769459c3..00000000 --- a/10.1/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/authenticator/LocalSSOContextFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * JBoss, Home of Professional Open Source. - * Copyright 2016, Red Hat, Inc., and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.wildfly.clustering.tomcat.catalina.authenticator; - -import org.wildfly.clustering.web.LocalContextFactory; - -/** - * @author Paul Ferraro - */ -public class LocalSSOContextFactory implements LocalContextFactory { - - @Override - public LocalSSOContext createLocalContext() { - return new LocalSSOContext(); - } -} diff --git a/10.1/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java b/10.1/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java index a13b1f75..3eb932ee 100644 --- a/10.1/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java +++ b/10.1/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java @@ -70,8 +70,6 @@ import org.wildfly.clustering.tomcat.catalina.DistributableManager; import org.wildfly.clustering.tomcat.catalina.CatalinaIdentifierFactory; import org.wildfly.clustering.tomcat.catalina.LocalSessionContext; -import org.wildfly.clustering.tomcat.catalina.LocalSessionContextFactory; -import org.wildfly.clustering.web.LocalContextFactory; import org.wildfly.clustering.web.hotrod.session.HotRodSessionManagerFactory; import org.wildfly.clustering.web.hotrod.session.HotRodSessionManagerFactoryConfiguration; import org.wildfly.clustering.web.session.ImmutableSession; @@ -101,6 +99,7 @@ public class HotRodManager extends ManagerBase { private volatile SessionMarshallerFactory marshallerFactory = SessionMarshallerFactory.JBOSS; private volatile String templateName = DefaultTemplate.DIST_SYNC.getTemplateName(); private volatile URI uri = null; + private volatile int expirationThreadPoolSize = 16; public void setUri(String uri) { this.uri = URI.create(uri); @@ -134,6 +133,10 @@ public void setMarshaller(String marshallerFactory) { this.setMarshallerFactory(SessionMarshallerFactory.valueOf(marshallerFactory)); } + public void setExpirationThreadPoolSize(int size) { + this.expirationThreadPoolSize = size; + } + @Deprecated public void setPersistenceStrategy(String strategy) { this.setPersistenceStrategy(SessionAttributePersistenceStrategy.valueOf(strategy)); @@ -177,6 +180,7 @@ protected void startInternal() throws LifecycleException { loadedImmutabilities.add(loadedImmutability); } Immutability immutability = new CompositeImmutability(new CompositeIterable<>(EnumSet.allOf(DefaultImmutability.class), EnumSet.allOf(SessionAttributeImmutability.class), loadedImmutabilities)); + int expirationThreadPoolSize = this.expirationThreadPoolSize; HotRodSessionManagerFactoryConfiguration sessionManagerFactoryConfig = new HotRodSessionManagerFactoryConfiguration<>() { @Override @@ -205,8 +209,8 @@ public String getServerName() { } @Override - public LocalContextFactory getLocalContextFactory() { - return LocalSessionContextFactory.INSTANCE; + public Supplier getLocalContextFactory() { + return LocalSessionContext::new; } @Override @@ -223,6 +227,11 @@ public Immutability getImmutability() { public SpecificationProvider getSpecificationProvider() { return CatalinaSpecificationProvider.INSTANCE; } + + @Override + public int getExpirationThreadPoolSize() { + return expirationThreadPoolSize; + } }; this.managerFactory = new HotRodSessionManagerFactory<>(sessionManagerFactoryConfig); diff --git a/10.1/pom.xml b/10.1/pom.xml index db9e3c75..bbf6bcf5 100644 --- a/10.1/pom.xml +++ b/10.1/pom.xml @@ -41,7 +41,7 @@ - 10.1.12 + 10.1.15 diff --git a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java index ab624f43..b64f9670 100644 --- a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java +++ b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java @@ -32,8 +32,8 @@ import javax.servlet.http.HttpSessionListener; import org.apache.catalina.Context; -import org.wildfly.clustering.web.cache.session.ImmutableSessionAttributesFilter; -import org.wildfly.clustering.web.cache.session.SessionAttributesFilter; +import org.wildfly.clustering.web.cache.session.attributes.coarse.ImmutableSessionAttributesFilter; +import org.wildfly.clustering.web.cache.session.attributes.coarse.SessionAttributesFilter; import org.wildfly.clustering.web.session.ImmutableSession; /** diff --git a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java index d9d78faf..aaa29d49 100644 --- a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java +++ b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java @@ -128,7 +128,7 @@ public int getMaxInactiveInterval() { public void setMaxInactiveInterval(int interval) { Session session = this.session.get(); try (BatchContext context = this.resumeBatch()) { - session.getMetaData().setMaxInactiveInterval((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); + session.getMetaData().setTimeout((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); } catch (IllegalStateException e) { this.closeIfInvalid(session); throw e; @@ -232,7 +232,7 @@ public void tellChangedSessionId(String newId, String oldId, boolean notifySessi for (String name: oldSession.getAttributes().getAttributeNames()) { newSession.getAttributes().setAttribute(name, oldSession.getAttributes().getAttribute(name)); } - newSession.getMetaData().setMaxInactiveInterval(oldSession.getMetaData().getTimeout()); + newSession.getMetaData().setTimeout(oldSession.getMetaData().getTimeout()); newSession.getMetaData().setLastAccess(oldSession.getMetaData().getLastAccessStartTime(), oldSession.getMetaData().getLastAccessTime()); newSession.getLocalContext().setAuthType(oldSession.getLocalContext().getAuthType()); newSession.getLocalContext().setPrincipal(oldSession.getLocalContext().getPrincipal()); diff --git a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java index facaa05a..26dbf847 100644 --- a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java +++ b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java @@ -144,7 +144,7 @@ public int getMaxInactiveInterval() { public void setMaxInactiveInterval(int interval) { Session session = this.session.get(); try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - session.getMetaData().setMaxInactiveInterval((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); + session.getMetaData().setTimeout((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); } catch (IllegalStateException e) { this.closeIfInvalid.accept(session); throw e; diff --git a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java deleted file mode 100644 index d44dc586..00000000 --- a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * JBoss, Home of Professional Open Source. - * Copyright 2016, Red Hat, Inc., and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.wildfly.clustering.tomcat.catalina; - -import org.wildfly.clustering.web.LocalContextFactory; - -/** - * Create a local (i.e. non-persistent) context for a Tomcat session. - * @author Paul Ferraro - */ -public enum LocalSessionContextFactory implements LocalContextFactory { - INSTANCE; - - @Override - public LocalSessionContext createLocalContext() { - return new LocalSessionContext(); - } -} diff --git a/8.5/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java b/8.5/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java index 9e47017f..ad9950c9 100644 --- a/8.5/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java +++ b/8.5/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java @@ -70,8 +70,6 @@ import org.wildfly.clustering.tomcat.catalina.CatalinaSpecificationProvider; import org.wildfly.clustering.tomcat.catalina.DistributableManager; import org.wildfly.clustering.tomcat.catalina.LocalSessionContext; -import org.wildfly.clustering.tomcat.catalina.LocalSessionContextFactory; -import org.wildfly.clustering.web.LocalContextFactory; import org.wildfly.clustering.web.hotrod.session.HotRodSessionManagerFactory; import org.wildfly.clustering.web.hotrod.session.HotRodSessionManagerFactoryConfiguration; import org.wildfly.clustering.web.session.ImmutableSession; @@ -99,6 +97,7 @@ public class HotRodManager extends ManagerBase { private volatile SessionMarshallerFactory marshallerFactory = SessionMarshallerFactory.JBOSS; private volatile String templateName = DefaultTemplate.DIST_SYNC.getTemplateName(); private volatile URI uri = null; + private volatile int expirationThreadPoolSize = 16; public void setUri(String uri) { this.uri = URI.create(uri); @@ -132,6 +131,10 @@ public void setMarshaller(String marshallerFactory) { this.setMarshallerFactory(SessionMarshallerFactory.valueOf(marshallerFactory)); } + public void setExpirationThreadPoolSize(int size) { + this.expirationThreadPoolSize = size; + } + @Deprecated public void setPersistenceStrategy(String strategy) { this.setPersistenceStrategy(SessionAttributePersistenceStrategy.valueOf(strategy)); @@ -175,6 +178,7 @@ protected void startInternal() throws LifecycleException { loadedImmutabilities.add(loadedImmutability); } Immutability immutability = new CompositeImmutability(new CompositeIterable<>(EnumSet.allOf(DefaultImmutability.class), EnumSet.allOf(SessionAttributeImmutability.class), loadedImmutabilities)); + int expirationThreadPoolSize = this.expirationThreadPoolSize; HotRodSessionManagerFactoryConfiguration sessionManagerFactoryConfig = new HotRodSessionManagerFactoryConfiguration<>() { @Override @@ -203,8 +207,8 @@ public String getServerName() { } @Override - public LocalContextFactory getLocalContextFactory() { - return LocalSessionContextFactory.INSTANCE; + public Supplier getLocalContextFactory() { + return LocalSessionContext::new; } @Override @@ -221,6 +225,11 @@ public Immutability getImmutability() { public SpecificationProvider getSpecificationProvider() { return CatalinaSpecificationProvider.INSTANCE; } + + @Override + public int getExpirationThreadPoolSize() { + return expirationThreadPoolSize; + } }; this.managerFactory = new HotRodSessionManagerFactory<>(sessionManagerFactoryConfig); diff --git a/8.5/pom.xml b/8.5/pom.xml index d8b05d2e..6a858856 100644 --- a/8.5/pom.xml +++ b/8.5/pom.xml @@ -41,7 +41,7 @@ - 8.5.91 + 8.5.95 diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java index ab624f43..b64f9670 100644 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java +++ b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSessionDestroyAction.java @@ -32,8 +32,8 @@ import javax.servlet.http.HttpSessionListener; import org.apache.catalina.Context; -import org.wildfly.clustering.web.cache.session.ImmutableSessionAttributesFilter; -import org.wildfly.clustering.web.cache.session.SessionAttributesFilter; +import org.wildfly.clustering.web.cache.session.attributes.coarse.ImmutableSessionAttributesFilter; +import org.wildfly.clustering.web.cache.session.attributes.coarse.SessionAttributesFilter; import org.wildfly.clustering.web.session.ImmutableSession; /** diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java index d9d78faf..aaa29d49 100644 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java +++ b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java @@ -128,7 +128,7 @@ public int getMaxInactiveInterval() { public void setMaxInactiveInterval(int interval) { Session session = this.session.get(); try (BatchContext context = this.resumeBatch()) { - session.getMetaData().setMaxInactiveInterval((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); + session.getMetaData().setTimeout((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); } catch (IllegalStateException e) { this.closeIfInvalid(session); throw e; @@ -232,7 +232,7 @@ public void tellChangedSessionId(String newId, String oldId, boolean notifySessi for (String name: oldSession.getAttributes().getAttributeNames()) { newSession.getAttributes().setAttribute(name, oldSession.getAttributes().getAttribute(name)); } - newSession.getMetaData().setMaxInactiveInterval(oldSession.getMetaData().getTimeout()); + newSession.getMetaData().setTimeout(oldSession.getMetaData().getTimeout()); newSession.getMetaData().setLastAccess(oldSession.getMetaData().getLastAccessStartTime(), oldSession.getMetaData().getLastAccessTime()); newSession.getLocalContext().setAuthType(oldSession.getLocalContext().getAuthType()); newSession.getLocalContext().setPrincipal(oldSession.getLocalContext().getPrincipal()); diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java index facaa05a..26dbf847 100644 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java +++ b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java @@ -144,7 +144,7 @@ public int getMaxInactiveInterval() { public void setMaxInactiveInterval(int interval) { Session session = this.session.get(); try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - session.getMetaData().setMaxInactiveInterval((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); + session.getMetaData().setTimeout((interval > 0) ? Duration.ofSeconds(interval) : Duration.ZERO); } catch (IllegalStateException e) { this.closeIfInvalid.accept(session); throw e; diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java deleted file mode 100644 index d44dc586..00000000 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/LocalSessionContextFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * JBoss, Home of Professional Open Source. - * Copyright 2016, Red Hat, Inc., and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.wildfly.clustering.tomcat.catalina; - -import org.wildfly.clustering.web.LocalContextFactory; - -/** - * Create a local (i.e. non-persistent) context for a Tomcat session. - * @author Paul Ferraro - */ -public enum LocalSessionContextFactory implements LocalContextFactory { - INSTANCE; - - @Override - public LocalSessionContext createLocalContext() { - return new LocalSessionContext(); - } -} diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/authenticator/LocalSSOContextFactory.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/authenticator/LocalSSOContextFactory.java deleted file mode 100644 index 769459c3..00000000 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/authenticator/LocalSSOContextFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * JBoss, Home of Professional Open Source. - * Copyright 2016, Red Hat, Inc., and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.wildfly.clustering.tomcat.catalina.authenticator; - -import org.wildfly.clustering.web.LocalContextFactory; - -/** - * @author Paul Ferraro - */ -public class LocalSSOContextFactory implements LocalContextFactory { - - @Override - public LocalSSOContext createLocalContext() { - return new LocalSSOContext(); - } -} diff --git a/9.0/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java b/9.0/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java index 1004a8bc..d248d436 100644 --- a/9.0/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java +++ b/9.0/hotrod/src/main/java/org/wildfly/clustering/tomcat/hotrod/HotRodManager.java @@ -70,8 +70,6 @@ import org.wildfly.clustering.tomcat.catalina.DistributableManager; import org.wildfly.clustering.tomcat.catalina.CatalinaIdentifierFactory; import org.wildfly.clustering.tomcat.catalina.LocalSessionContext; -import org.wildfly.clustering.tomcat.catalina.LocalSessionContextFactory; -import org.wildfly.clustering.web.LocalContextFactory; import org.wildfly.clustering.web.hotrod.session.HotRodSessionManagerFactory; import org.wildfly.clustering.web.hotrod.session.HotRodSessionManagerFactoryConfiguration; import org.wildfly.clustering.web.session.ImmutableSession; @@ -101,6 +99,7 @@ public class HotRodManager extends ManagerBase { private volatile SessionMarshallerFactory marshallerFactory = SessionMarshallerFactory.JBOSS; private volatile String templateName = DefaultTemplate.DIST_SYNC.getTemplateName(); private volatile URI uri = null; + private volatile int expirationThreadPoolSize = 16; public void setUri(String uri) { this.uri = URI.create(uri); @@ -134,6 +133,10 @@ public void setMarshaller(String marshallerFactory) { this.setMarshallerFactory(SessionMarshallerFactory.valueOf(marshallerFactory)); } + public void setExpirationThreadPoolSize(int size) { + this.expirationThreadPoolSize = size; + } + @Deprecated public void setPersistenceStrategy(String strategy) { this.setPersistenceStrategy(SessionAttributePersistenceStrategy.valueOf(strategy)); @@ -177,6 +180,7 @@ protected void startInternal() throws LifecycleException { loadedImmutabilities.add(loadedImmutability); } Immutability immutability = new CompositeImmutability(new CompositeIterable<>(EnumSet.allOf(DefaultImmutability.class), EnumSet.allOf(SessionAttributeImmutability.class), loadedImmutabilities)); + int expirationThreadPoolSize = this.expirationThreadPoolSize; HotRodSessionManagerFactoryConfiguration sessionManagerFactoryConfig = new HotRodSessionManagerFactoryConfiguration<>() { @Override @@ -205,8 +209,8 @@ public String getServerName() { } @Override - public LocalContextFactory getLocalContextFactory() { - return LocalSessionContextFactory.INSTANCE; + public Supplier getLocalContextFactory() { + return LocalSessionContext::new; } @Override @@ -223,6 +227,11 @@ public Immutability getImmutability() { public SpecificationProvider getSpecificationProvider() { return CatalinaSpecificationProvider.INSTANCE; } + + @Override + public int getExpirationThreadPoolSize() { + return expirationThreadPoolSize; + } }; this.managerFactory = new HotRodSessionManagerFactory<>(sessionManagerFactoryConfig); diff --git a/9.0/pom.xml b/9.0/pom.xml index dfd21a82..46cd517a 100644 --- a/9.0/pom.xml +++ b/9.0/pom.xml @@ -41,7 +41,7 @@ - 9.0.78 + 9.0.82 diff --git a/pom.xml b/pom.xml index 776e4b17..92f3987e 100644 --- a/pom.xml +++ b/pom.xml @@ -53,13 +53,13 @@ 4.0.3 1.0 5.2.1 - 14.0.13.Final - 4.6.2.Final + 14.0.17.Final + 4.6.5.Final ${version.org.infinispan} 1.7.1.Final 1.1.0.Final 1.11 - 29.0.0.Final + 30.0.0.Final 4.13.2