<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>Using Persistent Sessions</title><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><meta name="keywords" content="jetty, servlet, servlet-api, cometd, http, websocket, eclipse, maven, java, server, software"><link rel="home" href="index.html" title="Jetty"><link rel="up" href="session-management.html" title="Chapter&nbsp;10.&nbsp;Session Management"><link rel="prev" href="session-management.html" title="Chapter&nbsp;10.&nbsp;Session Management"><link rel="next" href="session-clustering-jdbc.html" title="Session Clustering with a Database"><link xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" rel="shortcut icon" href="images/favicon.ico"><link rel="stylesheet" href="css/highlighter/foundation.css"><script src="js/highlight.pack.js"></script><script>
      hljs.initHighlightingOnLoad();
    </script><link type="text/css" rel="stylesheet" href="css/font-awesome/font-awesome.min.css"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><tr><td style="width: 25%"><a href="http://www.eclipse.org/jetty"><img src="images/jetty-header-logo.png" alt="Jetty Logo"></a><br><span style="font-size: small">
            Version: 9.3.28.v20191105</span></td><td style="width: 50%"></td></tr></table><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using Persistent Sessions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="session-management.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;10.&nbsp;Session Management<br><a accesskey="p" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></th><td width="20%" align="right">&nbsp;<a accesskey="n" href="session-clustering-jdbc.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr></table><hr></div><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="jetty-callout"><h5 class="callout"><a href="http://www.webtide.com/">Contact the core Jetty developers at
          <span class="website">www.webtide.com</span></a></h5><p>
 private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ...
 scalability guidance for your apps and Ajax/Comet projects ... development services for sponsored feature development
      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="using-persistent-sessions"></a>Using Persistent Sessions</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="using-persistent-sessions.html#enabling-persistence">Enabling Persistence</a></span></dt><dt><span class="section"><a href="using-persistent-sessions.html#delaying-session-load">Delaying Session Load</a></span></dt><dt><span class="section"><a href="using-persistent-sessions.html#enabling-persistence-for-jetty-maven-plugin">Enabling Persistence for the Jetty Maven Plugin</a></span></dt></dl></div><p>It is sometimes useful to preserve existing Sessions across restarts of Jetty.
The <a class="link" href="http://www.eclipse.org/jetty/javadoc/9.3.28.v20191105/org/eclipse/jetty/server/session/HashSessionManager.html" target="_top"><code class="literal">HashSessionManager</code></a> supports this feature.
If you enable persistence, the <code class="literal">HashSessionManager</code> saves all existing, valid Sessions to disk before shutdown completes.
On restart, Jetty restores the saved Sessions.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="enabling-persistence"></a>Enabling Persistence</h3></div></div></div><p>A <code class="literal">SessionManager</code> does just what its name suggests &#8211; it manages the lifecycle and state of sessions on behalf of a webapp.
Each webapp must have its own unique <code class="literal">SessionManager</code> instance.
Enabling persistence is as simple as configuring the <code class="literal">HashSessionManager</code> as the <code class="literal">SessionManager</code> for a webapp and telling it where on disk to store the sessions:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;Configure class="org.eclipse.jetty.webapp.WebAppContext"&gt;
  .
  .
  .
  &lt;Set name="sessionHandler"&gt;
    &lt;New class="org.eclipse.jetty.server.session.SessionHandler"&gt;
      &lt;Arg&gt;
        &lt;New class="org.eclipse.jetty.server.session.HashSessionManager"&gt;
          &lt;Set name="storeDirectory"&gt;your/chosen/directory/goes/here&lt;/Set&gt;
        &lt;/New&gt;
      &lt;/Arg&gt;
    &lt;/New&gt;
  &lt;/Set&gt;
  .
  .
  .
&lt;/Configure&gt;</code></pre><p>The above uses an example of a <a class="link" href="quickstart-config-what.html#intro-jetty-configuration-contexts" title="Configuring Contexts">context configuration file</a>.</p><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-lightbulb-o" aria-hidden="true"></i> Tip</h3><p>If you want to persist the sessions from multiple webapps:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">Configure a separate <code class="literal">HashSessionManager</code> for each.</li><li class="listitem">Assign to each a different value for <code class="literal">storeDirectory</code>.</li></ol></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="delaying-session-load"></a>Delaying Session Load</h3></div></div></div><p>You might need to ensure that the sessions are loaded AFTER the servlet environment starts up (by default, Jetty eagerly loads sessions as part of the container startup, but before it initializes the servlet environment).
For example, the Wicket web framework requires the servlet environment to be available when sessions are activated.</p><p>Using <code class="literal">SessionManager.setLazyLoad(true)</code>, Jetty loads sessions lazily either when it receives the first request for a session, or the session scavenger runs for the first time, whichever happens first.
Here&#8217;s how the configuration looks in XML:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;Set name="sessionHandler"&gt;
  &lt;New class="org.eclipse.jetty.server.session.SessionHandler"&gt;
    &lt;Arg&gt;
      &lt;New class="org.eclipse.jetty.server.session.HashSessionManager"&gt;
        &lt;Set name="lazyLoad"&gt;true&lt;/Set&gt;
      &lt;/New&gt;
    &lt;/Arg&gt;
  &lt;/New&gt;
&lt;/Set&gt;</code></pre></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="enabling-persistence-for-jetty-maven-plugin"></a>Enabling Persistence for the Jetty Maven Plugin</h3></div></div></div><p>To enable session persistence for the Jetty Maven plugin, set up the <code class="literal">HashSessionManager</code> in the configuration section like so:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;plugin&gt;
  &lt;groupId&gt;org.eclipse.jetty&lt;/groupId&gt;
  &lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
  &lt;version&gt;9.0.0.RC2 (or current version)&lt;/version&gt;
  &lt;configuration&gt;
    &lt;!-- ... --&gt;
    &lt;webAppConfig implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext"&gt;
      &lt;defaultsDescriptor&gt;${project.build.outputDirectory}/META-INF/webdefault.xml&lt;/defaultsDescriptor&gt;
      &lt;contextPath&gt;${jetty.contextRoot}&lt;/contextPath&gt;
      &lt;sessionHandler implementation="org.eclipse.jetty.server.session.SessionHandler"&gt;
        &lt;sessionManager implementation="org.eclipse.jetty.server.session.HashSessionManager"&gt;
          &lt;storeDirectory&gt;${project.basedir}/target/jetty-sessions&lt;/storeDirectory&gt;
          &lt;idleSavePeriod&gt;1&lt;/idleSavePeriod&gt;
        &lt;/sessionManager&gt;
      &lt;/sessionHandler&gt;
    &lt;/webAppConfig&gt;
    &lt;!-- ... --&gt;
  &lt;/configuration&gt;
&lt;/plugin&gt;</code></pre></div></div><script type="text/javascript">
      SyntaxHighlighter.all()
    </script><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="session-management.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="session-management.html"><i class="fa fa-chevron-up" aria-hidden="true"></i> Top</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="session-clustering-jdbc.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;10.&nbsp;Session Management&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></td><td width="40%" align="right" valign="top">&nbsp;Session Clustering with a Database</td></tr></table></div><p xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><div class="jetty-callout">
            See an error or something missing?
            <span class="callout"><a href="http://github.com/eclipse/jetty.project">Contribute to this documentation at
                <span class="website"><i class="fa fa-github" aria-hidden="true"></i> Github!</span></a></span><span style="float: right"><i>(Generated: 2019-11-05)</i></span></div></p></body></html>