1
18
19 package io.undertow.servlet.core;
20
21 import io.undertow.server.session.InMemorySessionManager;
22 import io.undertow.server.session.SessionManager;
23 import io.undertow.servlet.api.Deployment;
24 import io.undertow.servlet.api.SessionManagerFactory;
25
26
30 public class InMemorySessionManagerFactory implements SessionManagerFactory {
31
32 private final int maxSessions;
33 private final boolean expireOldestUnusedSessionOnMax;
34
35 public InMemorySessionManagerFactory() {
36 this(-1, false);
37 }
38
39 public InMemorySessionManagerFactory(int maxSessions) {
40 this(maxSessions, false);
41 }
42
43 public InMemorySessionManagerFactory(int maxSessions, boolean expireOldestUnusedSessionOnMax) {
44 this.maxSessions = maxSessions;
45 this.expireOldestUnusedSessionOnMax = expireOldestUnusedSessionOnMax;
46 }
47
48 @Override
49 public SessionManager createSessionManager(Deployment deployment) {
50 return new InMemorySessionManager(deployment.getDeploymentInfo().getSessionIdGenerator(), deployment.getDeploymentInfo().getDeploymentName(), maxSessions, expireOldestUnusedSessionOnMax, deployment.getDeploymentInfo().getMetricsCollector() != null);
51 }
52 }
53