blob: 8c337b4f8e6a057b6cd145c750a30c3f71d974e7 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.6) on Fri Apr 10 16:48:14 EDT 2020 -->
<title>AbstractSessionDataStoreTest (Jetty :: Project 9.4.28.v20200408 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-04-10">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractSessionDataStoreTest (Jetty :: Project 9.4.28.v20200408 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractSessionDataStoreTest.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.server.session</a></div>
<h2 title="Class AbstractSessionDataStoreTest" class="title">Class AbstractSessionDataStoreTest</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.server.session.AbstractSessionDataStoreTest</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public abstract class <span class="typeNameLabel">AbstractSessionDataStoreTest</span>
extends java.lang.Object</pre>
<div class="block">AbstractSessionDataStoreTest</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.net.URLClassLoader</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#_contextClassLoader">_contextClassLoader</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ANCIENT_TIMESTAMP">ANCIENT_TIMESTAMP</a></span></code></th>
<td class="colLast">
<div class="block">A timestamp representing a time that was close to the epoch, and thus
happened a long time ago.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#GRACE_PERIOD_SEC">GRACE_PERIOD_SEC</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#RECENT_TIMESTAMP">RECENT_TIMESTAMP</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">AbstractSessionDataStoreTest</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSessionExists(org.eclipse.jetty.server.session.SessionData)">checkSessionExists</a></span>&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSessionPersisted(org.eclipse.jetty.server.session.SessionData)">checkSessionPersisted</a></span>&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract <a href="SessionDataStoreFactory.html" title="interface in org.eclipse.jetty.server.session">SessionDataStoreFactory</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSessionDataStoreFactory()">createSessionDataStoreFactory</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#persistSession(org.eclipse.jetty.server.session.SessionData)">persistSession</a></span>&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#persistUnreadableSession(org.eclipse.jetty.server.session.SessionData)">persistUnreadableSession</a></span>&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDeleteSessionDoesNotExist()">testDeleteSessionDoesNotExist</a></span>()</code></th>
<td class="colLast">
<div class="block">Test deletion of non-existent session.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDeleteSessionExists()">testDeleteSessionExists</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that we can delete a persisted session.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testEmptyLoadSession()">testEmptyLoadSession</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that a session containing no attributes can be stored and re-read</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExistsDifferentContext()">testExistsDifferentContext</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExistsIsExpired()">testExistsIsExpired</a></span>()</code></th>
<td class="colLast">
<div class="block">Test the exist() method with a session that does exist and is expired</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExistsNotExists()">testExistsNotExists</a></span>()</code></th>
<td class="colLast">
<div class="block">Test the exist() method with a session that does not exist</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExistsNotExpired()">testExistsNotExpired</a></span>()</code></th>
<td class="colLast">
<div class="block">Test the exist() method with a session that does exist and is not expired</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGetExpiredDifferentNode()">testGetExpiredDifferentNode</a></span>()</code></th>
<td class="colLast">
<div class="block">Test SessionDataStore.getExpired: tests the situation where
there are sessions that are not in use on the node, but have
expired and are last used by another node.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGetExpiredNotPersisted()">testGetExpiredNotPersisted</a></span>()</code></th>
<td class="colLast">
<div class="block">Test SessionDataStore.getExpired: tests the situation where
the session candidates don't exist in the store.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGetExpiredPersistedAndExpired()">testGetExpiredPersistedAndExpired</a></span>()</code></th>
<td class="colLast">
<div class="block">Test SessionDataStore.getExpired.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGetExpiredPersistedAndExpiredOnly()">testGetExpiredPersistedAndExpiredOnly</a></span>()</code></th>
<td class="colLast">
<div class="block">Test SessionDataStore.getExpired: tests the situation where
there are more persisted expired sessions in the store than
present in the candidate list.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGetExpiredPersistedNotExpired()">testGetExpiredPersistedNotExpired</a></span>()</code></th>
<td class="colLast">
<div class="block">Test SessionDataStore.getExpired: tests the situation where
the session candidates are not expired in the store.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testLoadSessionDoesNotExist()">testLoadSessionDoesNotExist</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that a non-existent session cannot be loaded.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testLoadSessionExists()">testLoadSessionExists</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that we can load a persisted session.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testLoadSessionExpired()">testLoadSessionExpired</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that an expired session can be loaded.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testLoadSessionFails()">testLoadSessionFails</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that a session that cannot be loaded throws exception.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testModifyEmptyLoadSession()">testModifyEmptyLoadSession</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSavePeriodDirtySession()">testSavePeriodDirtySession</a></span>()</code></th>
<td class="colLast">
<div class="block">Check that a session whose attributes have changed will always
be saved despite the savePeriod</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSavePeriodOnCreate()">testSavePeriodOnCreate</a></span>()</code></th>
<td class="colLast">
<div class="block">Check that a session that has never previously been
saved will be saved despite the savePeriod setting.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSavePeriodOnUpdate()">testSavePeriodOnUpdate</a></span>()</code></th>
<td class="colLast">
<div class="block">Test setting a save period to avoid writes when the attributes haven't changed.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testStoreObjectAttributes()">testStoreObjectAttributes</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that the store can persist a session that contains
serializable Proxy objects in the attributes.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testStoreSession()">testStoreSession</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that the store can persist a session.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testUpdateSession()">testUpdateSession</a></span>()</code></th>
<td class="colLast">
<div class="block">Test that the store can update a pre-existing session.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="GRACE_PERIOD_SEC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GRACE_PERIOD_SEC</h4>
<pre>public static final&nbsp;int GRACE_PERIOD_SEC</pre>
</li>
</ul>
<a id="ANCIENT_TIMESTAMP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ANCIENT_TIMESTAMP</h4>
<pre>public static final&nbsp;long ANCIENT_TIMESTAMP</pre>
<div class="block">A timestamp representing a time that was close to the epoch, and thus
happened a long time ago. Used as expiry timestamp for to
signify a session is expired.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.session.AbstractSessionDataStoreTest.ANCIENT_TIMESTAMP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="RECENT_TIMESTAMP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECENT_TIMESTAMP</h4>
<pre>public static final&nbsp;long RECENT_TIMESTAMP</pre>
</li>
</ul>
<a id="_contextClassLoader">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>_contextClassLoader</h4>
<pre>protected&nbsp;java.net.URLClassLoader _contextClassLoader</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractSessionDataStoreTest</h4>
<pre>public&nbsp;AbstractSessionDataStoreTest()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="createSessionDataStoreFactory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSessionDataStoreFactory</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="SessionDataStoreFactory.html" title="interface in org.eclipse.jetty.server.session">SessionDataStoreFactory</a>&nbsp;createSessionDataStoreFactory()</pre>
</li>
</ul>
<a id="persistSession(org.eclipse.jetty.server.session.SessionData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistSession</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;persistSession&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="persistUnreadableSession(org.eclipse.jetty.server.session.SessionData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistUnreadableSession</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;persistUnreadableSession&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="checkSessionExists(org.eclipse.jetty.server.session.SessionData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSessionExists</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;checkSessionExists&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="checkSessionPersisted(org.eclipse.jetty.server.session.SessionData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSessionPersisted</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;checkSessionPersisted&#8203;(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testStoreSession()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStoreSession</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testStoreSession()
throws java.lang.Exception</pre>
<div class="block">Test that the store can persist a session. The session uses an attribute
class that is only known to the webapp classloader. This tests that
we use the webapp loader when we serialize the session data (ie save the session).</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testUpdateSession()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testUpdateSession</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testUpdateSession()
throws java.lang.Exception</pre>
<div class="block">Test that the store can update a pre-existing session.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testStoreObjectAttributes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStoreObjectAttributes</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testStoreObjectAttributes()
throws java.lang.Exception</pre>
<div class="block">Test that the store can persist a session that contains
serializable Proxy objects in the attributes.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testLoadSessionExists()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLoadSessionExists</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testLoadSessionExists()
throws java.lang.Exception</pre>
<div class="block">Test that we can load a persisted session.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testLoadSessionExpired()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLoadSessionExpired</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testLoadSessionExpired()
throws java.lang.Exception</pre>
<div class="block">Test that an expired session can be loaded.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testLoadSessionDoesNotExist()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLoadSessionDoesNotExist</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testLoadSessionDoesNotExist()
throws java.lang.Exception</pre>
<div class="block">Test that a non-existent session cannot be loaded.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testLoadSessionFails()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLoadSessionFails</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testLoadSessionFails()
throws java.lang.Exception</pre>
<div class="block">Test that a session that cannot be loaded throws exception.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testEmptyLoadSession()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testEmptyLoadSession</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testEmptyLoadSession()
throws java.lang.Exception</pre>
<div class="block">Test that a session containing no attributes can be stored and re-read</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testModifyEmptyLoadSession()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testModifyEmptyLoadSession</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testModifyEmptyLoadSession()
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testDeleteSessionExists()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDeleteSessionExists</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testDeleteSessionExists()
throws java.lang.Exception</pre>
<div class="block">Test that we can delete a persisted session.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testDeleteSessionDoesNotExist()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDeleteSessionDoesNotExist</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testDeleteSessionDoesNotExist()
throws java.lang.Exception</pre>
<div class="block">Test deletion of non-existent session.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testGetExpiredPersistedAndExpired()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGetExpiredPersistedAndExpired</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testGetExpiredPersistedAndExpired()
throws java.lang.Exception</pre>
<div class="block">Test SessionDataStore.getExpired. Tests the situation
where the session candidates are also expired in the
store.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testGetExpiredPersistedNotExpired()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGetExpiredPersistedNotExpired</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testGetExpiredPersistedNotExpired()
throws java.lang.Exception</pre>
<div class="block">Test SessionDataStore.getExpired: tests the situation where
the session candidates are not expired in the store.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testGetExpiredNotPersisted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGetExpiredNotPersisted</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testGetExpiredNotPersisted()
throws java.lang.Exception</pre>
<div class="block">Test SessionDataStore.getExpired: tests the situation where
the session candidates don't exist in the store.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testGetExpiredPersistedAndExpiredOnly()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGetExpiredPersistedAndExpiredOnly</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testGetExpiredPersistedAndExpiredOnly()
throws java.lang.Exception</pre>
<div class="block">Test SessionDataStore.getExpired: tests the situation where
there are more persisted expired sessions in the store than
present in the candidate list.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testGetExpiredDifferentNode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGetExpiredDifferentNode</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testGetExpiredDifferentNode()
throws java.lang.Exception</pre>
<div class="block">Test SessionDataStore.getExpired: tests the situation where
there are sessions that are not in use on the node, but have
expired and are last used by another node.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testExistsNotExpired()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExistsNotExpired</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testExistsNotExpired()
throws java.lang.Exception</pre>
<div class="block">Test the exist() method with a session that does exist and is not expired</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testExistsIsExpired()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExistsIsExpired</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testExistsIsExpired()
throws java.lang.Exception</pre>
<div class="block">Test the exist() method with a session that does exist and is expired</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testExistsNotExists()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExistsNotExists</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testExistsNotExists()
throws java.lang.Exception</pre>
<div class="block">Test the exist() method with a session that does not exist</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testExistsDifferentContext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExistsDifferentContext</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testExistsDifferentContext()
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testSavePeriodOnUpdate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSavePeriodOnUpdate</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testSavePeriodOnUpdate()
throws java.lang.Exception</pre>
<div class="block">Test setting a save period to avoid writes when the attributes haven't changed.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testSavePeriodOnCreate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSavePeriodOnCreate</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testSavePeriodOnCreate()
throws java.lang.Exception</pre>
<div class="block">Check that a session that has never previously been
saved will be saved despite the savePeriod setting.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testSavePeriodDirtySession()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>testSavePeriodDirtySession</h4>
<pre class="methodSignature">@Test
public&nbsp;void&nbsp;testSavePeriodDirtySession()
throws java.lang.Exception</pre>
<div class="block">Check that a session whose attributes have changed will always
be saved despite the savePeriod</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractSessionDataStoreTest.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2020 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>