<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Apache TomEE</title>
	<meta name="description"
		  content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." />
	<meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" />
	<meta name="author" content="Luka Cvetinovic for Codrops" />
	<link rel="icon" href="../../favicon.ico">
	<link rel="icon"  type="image/png" href="../../favicon.png">
	<meta name="msapplication-TileColor" content="#80287a">
	<meta name="theme-color" content="#80287a">
	<link rel="stylesheet" type="text/css" href="../../css/normalize.css">
	<link rel="stylesheet" type="text/css" href="../../css/bootstrap.css">
	<link rel="stylesheet" type="text/css" href="../../css/owl.css">
	<link rel="stylesheet" type="text/css" href="../../css/animate.css">
	<link rel="stylesheet" type="text/css" href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
	<link rel="stylesheet" type="text/css" href="../../fonts/eleganticons/et-icons.css">
	<link rel="stylesheet" type="text/css" href="../../css/jqtree.css">
	<link rel="stylesheet" type="text/css" href="../../css/idea.css">
	<link rel="stylesheet" type="text/css" href="../../css/cardio.css">

	<script type="text/javascript">
		<!-- Matomo -->
		var _paq = window._paq = window._paq || [];
		/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
		/* We explicitly disable cookie tracking to avoid privacy issues */
		_paq.push(['disableCookies']);
		_paq.push(['trackPageView']);
		_paq.push(['enableLinkTracking']);
		(function () {
			var u = "//matomo.privacy.apache.org/";
			_paq.push(['setTrackerUrl', u + 'matomo.php']);
			_paq.push(['setSiteId', '5']);
			var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
			g.async = true;
			g.src = u + 'matomo.js';
			s.parentNode.insertBefore(g, s);
		})();
		<!-- End Matomo Code -->
    </script>
</head>

<body>
    <div class="preloader">
		<img src="../../img/loader.gif" alt="Preloader image">
	</div>
	    <nav class="navbar">
		<div class="container">
		  <div class="row">          <div class="col-md-12">

			<!-- Brand and toggle get grouped for better mobile display -->
			<div class="navbar-header">
				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					<span class="sr-only">Toggle navigation</span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
				</button>
				<a class="navbar-brand" href="/" title="Apache TomEE">
				    <span>

				    
                        <img 
							src="../../img/apache_tomee-logo.svg"
							onerror="this.src='../../img/apache_tomee-logo.jpg'"
							height="50"
							>
                    

                    </span>
                </a>
			</div>
			<!-- Collect the nav links, forms, and other content for toggling -->
			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
				<ul class="nav navbar-nav navbar-right main-nav">
					<li><a href="../../docs.html">Documentation</a></li>
					<li><a href="../../community/index.html">Community</a></li>
					<li><a href="../../security/security.html">Security</a></li>
					<li><a class="btn btn-accent accent-orange no-shadow" href="../../download.html">Downloads</a></li>
				</ul>
			</div>
			<!-- /.navbar-collapse -->
		   </div></div>
		</div>
		<!-- /.container-fluid -->
	</nav>


    <div id="main-block" class="container main-block">
        <div class="row title">
          <div class="col-md-12">
            <div class='page-header'>
              
              <h1>StatelessContainer Configuration</h1>
            </div>
          </div>
        </div>
        <div class="row">
            
            <div class="col-md-12">
                <div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>A StatelessContainer can be declared via xml in the
<code>&lt;tomee-home&gt;/conf/tomee.xml</code> file or in a <code>WEB-INF/resources.xml</code> file
using a declaration like the following. All properties in the element
body are optional.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;Container id="myStatelessContainer" type="STATELESS"&gt;
    accessTimeout = 30 seconds
    callbackThreads = 5
    closeTimeout = 5 minutes
    garbageCollection = false
    idleTimeout = 0 minutes
    maxAge = 0 hours
    maxAgeOffset = -1
    maxSize = 10
    minSize = 0
    replaceAged = true
    replaceFlushed = false
    strictPooling = true
    sweepInterval = 5 minutes
&lt;/Container&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p>Alternatively, a StatelessContainer can be declared via properties in
the <code>&lt;tomee-home&gt;/conf/system.properties</code> file or via Java
VirtualMachine <code>-D</code> properties. The properties can also be used when
embedding TomEE via the <code>javax.ejb.embeddable.EJBContainer</code> API or
<code>InitialContext</code></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-properties" data-lang="properties">myStatelessContainer = new://Container?type=STATELESS
myStatelessContainer.accessTimeout = 30 seconds
myStatelessContainer.callbackThreads = 5
myStatelessContainer.closeTimeout = 5 minutes
myStatelessContainer.garbageCollection = false
myStatelessContainer.idleTimeout = 0 minutes
myStatelessContainer.maxAge = 0 hours
myStatelessContainer.maxAgeOffset = -1
myStatelessContainer.maxSize = 10
myStatelessContainer.minSize = 0
myStatelessContainer.replaceAged = true
myStatelessContainer.replaceFlushed = false
myStatelessContainer.strictPooling = true
myStatelessContainer.sweepInterval = 5 minutes</code></pre>
</div>
</div>
<div class="paragraph">
<p>Properties and xml can be mixed. Properties will override the xml
allowing for easy configuration change without the need for $\{} style
variable substitution. Properties are not case sensitive. If a property
is specified that is not supported by the declared StatelessContainer a
warning will be logged. If a StatelessContainer is needed by the
application and one is not declared, TomEE will create one dynamically
using default settings. Multiple StatelessContainer declarations are
allowed. # Supported Properties</p>
</div>
<div class="paragraph">
<p>Property</p>
</div>
<div class="paragraph">
<p>Type</p>
</div>
<div class="paragraph">
<p>Default</p>
</div>
<div class="paragraph">
<p>Description</p>
</div>
<div class="paragraph">
<p>accessTimeout</p>
</div>
<div class="paragraph">
<p>time</p>
</div>
<div class="paragraph">
<p>30 seconds</p>
</div>
<div class="paragraph">
<p>Specifies the time an invokation should wait for an instance of the pool
to become available.</p>
</div>
<div class="paragraph">
<p>callbackThreads</p>
</div>
<div class="paragraph">
<p>int</p>
</div>
<div class="paragraph">
<p>5</p>
</div>
<div class="paragraph">
<p>The number of threads for constructing and destroying beans.</p>
</div>
<div class="paragraph">
<p>closeTimeout</p>
</div>
<div class="paragraph">
<p>time</p>
</div>
<div class="paragraph">
<p>5 minutes</p>
</div>
<div class="paragraph">
<p>Maximum time to wait for instances to be destroyed when shutting down
the pool</p>
</div>
<div class="paragraph">
<p>garbageCollection</p>
</div>
<div class="paragraph">
<p>boolean</p>
</div>
<div class="paragraph">
<p>false</p>
</div>
<div class="paragraph">
<p>Allows Garbage Collection to be used as a mechanism for shrinking the
pool.</p>
</div>
<div class="paragraph">
<p>idleTimeout</p>
</div>
<div class="paragraph">
<p>time</p>
</div>
<div class="paragraph">
<p>0 minutes</p>
</div>
<div class="paragraph">
<p>Specifies the maximum time that an instance should be allowed to sit
idly in the pool without use before it should be retired and removed.</p>
</div>
<div class="paragraph">
<p>maxAge</p>
</div>
<div class="paragraph">
<p>time</p>
</div>
<div class="paragraph">
<p>0 hours</p>
</div>
<div class="paragraph">
<p>Specifies the maximum time that an instance should live before it should
be retired and removed from use.</p>
</div>
<div class="paragraph">
<p>maxAgeOffset</p>
</div>
<div class="paragraph">
<p>int</p>
</div>
<div class="paragraph">
<p>-1</p>
</div>
<div class="paragraph">
<p>Applies to MaxAge usage and would rarely be changed, but is a nice
feature to understand.</p>
</div>
<div class="paragraph">
<p>maxSize</p>
</div>
<div class="paragraph">
<p>int</p>
</div>
<div class="paragraph">
<p>10</p>
</div>
<div class="paragraph">
<p>Specifies the size of the instance pool for this stateless SessionBean
container.</p>
</div>
<div class="paragraph">
<p>minSize</p>
</div>
<div class="paragraph">
<p>int</p>
</div>
<div class="paragraph">
<p>0</p>
</div>
<div class="paragraph">
<p>Specifies the minimum number of bean instances that should be in the
pool for each bean.</p>
</div>
<div class="paragraph">
<p>replaceAged</p>
</div>
<div class="paragraph">
<p>boolean</p>
</div>
<div class="paragraph">
<p>true</p>
</div>
<div class="paragraph">
<p>When <code>ReplaceAged</code> is enabled, any instances in the pool that expire due
to reaching their <code>MaxAge</code> will be replaced immediately so that the pool
will remain at its current size.</p>
</div>
<div class="paragraph">
<p>replaceFlushed</p>
</div>
<div class="paragraph">
<p>boolean</p>
</div>
<div class="paragraph">
<p>false</p>
</div>
<div class="paragraph">
<p>When <code>ReplaceFlushed</code> is enabled, any instances in the pool that are
flushed will be replaced immediately so that the pool will remain at its
current size.</p>
</div>
<div class="paragraph">
<p>strictPooling</p>
</div>
<div class="paragraph">
<p>boolean</p>
</div>
<div class="paragraph">
<p>true</p>
</div>
<div class="paragraph">
<p>StrictPooling tells the container what to do when the pool reaches it&#8217;s
maximum size and there are incoming requests that need instances.</p>
</div>
<div class="paragraph">
<p>sweepInterval</p>
</div>
<div class="paragraph">
<p>time</p>
</div>
<div class="paragraph">
<p>5 minutes</p>
</div>
<div class="paragraph">
<p>The frequency in which the container will sweep the pool and evict
expired instances.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_accesstimeout">accessTimeout</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Specifies the time an invokation should wait for an instance of the pool
to become available.</p>
</div>
<div class="paragraph">
<p>After the timeout is reached, if an instance in the pool cannot be
obtained, the method invocation will fail.</p>
</div>
<div class="paragraph">
<p>Usable time units: nanoseconds, microsecons, milliseconds, seconds,
minutes, hours, days. Or any combination such as "1 hour and 27 minutes
and 10 seconds"</p>
</div>
<div class="paragraph">
<p>Any usage of the <code>javax.ejb.AccessTimeout</code> annotation will override this
setting for the bean or method where the annotation is used.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_callbackthreads">callbackThreads</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The number of threads for constructing and destroying beans.</p>
</div>
<div class="paragraph">
<p>When sweeping the pool for expired instances a thread pool is used to
process calling <code>@PreDestroy</code> on expired instances as well as creating
new instances as might be required to fill the pool to the minimum after
a Flush or <code>MaxAge</code> expiration. The <code>CallbackThreads</code> setting dictates
the size of the thread pool and is shared by all beans deployed in the
container.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_closetimeout">closeTimeout</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Maximum time to wait for instances to be destroyed when shutting down
the pool</p>
</div>
<div class="paragraph">
<p>PostConstruct methods are invoked on all instances in the pool when the
bean is undeployed and its pool is closed. The <code>CloseTimeout</code> specifies
the maximum time to wait for the pool to close and <code>PostConstruct</code>
methods to be invoked.</p>
</div>
<div class="paragraph">
<p>Usable time units: nanoseconds, microsecons, milliseconds, seconds,
minutes, hours, days. Or any combination such as
<code>1 hour and 27 minutes and 10 seconds</code></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_garbagecollection">garbageCollection</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Allows Garbage Collection to be used as a mechanism for shrinking the
pool.</p>
</div>
<div class="paragraph">
<p>When set to true all instances in the pool, excluding the minimum, are
eligible for garbage collection by the virtual machine as per the rules
of <code>java.lang.ref.SoftReference</code> and can be claimed by the JVM to free
memory. Instances garbage collected will have their <code>@PreDestroy</code>
methods called during finalization.</p>
</div>
<div class="paragraph">
<p>In the OpenJDK VM the <code>-XX:SoftRefLRUPolicyMSPerMB</code> flag can adjust how
aggressively SoftReferences are collected. The default OpenJDK setting
is 1000, resulting in inactive pooled instances living one second of
lifetime per free megabyte in the heap, which is very aggressive. The
setting should be increased to get the most out of the
<code>GarbageCollection</code> feature of the pool. Much higher settings are safe.
Even a setting as high as 3600000 (1 hour per free MB in the heap) does
not affect the ability for the VM to garbage collect SoftReferences in
the event that memory is needed to avoid an <code>OutOfMemoryException</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_idletimeout">idleTimeout</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Specifies the maximum time that an instance should be allowed to sit
idly in the pool without use before it should be retired and removed.</p>
</div>
<div class="paragraph">
<p>Only instances in surplus of the pool&#8217;s <code>MinSize</code> are eligible to expire
via <code>IdleTimeout</code> Instances that expire due to <code>IdleTimeout</code> will have
their <code>@PreDestroy</code> methods invoked before being completely destroyed.</p>
</div>
<div class="paragraph">
<p>Usable time units: nanoseconds, microsecons, milliseconds, seconds,
minutes, hours, days. Or any combination such as "1 hour and 27 minutes
and 10 seconds"</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_maxage">maxAge</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Specifies the maximum time that an instance should live before it should
be retired and removed from use.</p>
</div>
<div class="paragraph">
<p>This will happen gracefully. Useful for situations where bean instances
are designed to hold potentially expensive resources such as memory or
file handles and need to be periodically cleared out.</p>
</div>
<div class="paragraph">
<p>Usable time units: nanoseconds, microsecons, milliseconds, seconds,
minutes, hours, days. Or any combination such as
<code>1 hour and 27 minutes and 10 seconds</code></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_maxageoffset">maxAgeOffset</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Applies to MaxAge usage and would rarely be changed, but is a nice
feature to understand.</p>
</div>
<div class="paragraph">
<p>When the container first starts and the pool is filled to the minimum
size, all those "minimum" instances will have the same creation time and
therefore all expire at the same time dictated by the <code>MaxAge</code> setting.
To protect against this sudden drop scenario and provide a more gradual
expiration from the start the container will spread out the age of the
instances that fill the pool to the minimum using an offset.</p>
</div>
<div class="paragraph">
<p>The <code>MaxAgeOffset</code> is not the final value of the offset, but rather it
is used in creating the offset and allows the spreading to push the
initial ages into the future or into the past. The pool is filled at
startup as follows:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-java" data-lang="java">for (int i = 0; i &lt; poolMin; i++) {
    long ageOffset = (maxAge / poolMin * i * maxAgeOffset) % maxAge;
    pool.add(new Bean(), ageOffset));
}</code></pre>
</div>
</div>
<div class="paragraph">
<p>The default <code>MaxAgeOffset</code> is -1 which causes the initial instances in
the pool to live a bit longer before expiring. As a concrete example,
let&#8217;s say the MinSize is 4 and the MaxAge is 100 years. The generated
offsets for the four instances created at startup would be 0, -25, -50,
-75. So the first instance would be "born" at age 0, die at 100, living
100 years. The second instance would be born at -25, die at 100, living
a total of 125 years. The third would live 150 years. The fourth 175
years.</p>
</div>
<div class="paragraph">
<p>A <code>MaxAgeOffset</code> of 1 would cause instances to be "born" older and
therefore die sooner. Using the same example <code>MinSize</code> of 4 and <code>MaxAge</code>
of <code>100 years</code>, the life spans of these initial four instances would be
100, 75, 50, and 25 years respectively.</p>
</div>
<div class="paragraph">
<p>A <code>MaxAgeOffset</code> of 0 will cause no "spreading" of the age of the first
instances used to fill the pool to the minimum and these instances will
of course reach their MaxAge at the same time. It is possible to set to
decimal values such as -0.5, 0.5, -1.2, or 1.2.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_maxsize">maxSize</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Specifies the size of the instance pool for this stateless SessionBean
container.</p>
</div>
<div class="paragraph">
<p>Each <code>@Stateless</code> bean will get its own instance pool. If StrictPooling
is not used, instances will still be created beyond this number if there
is demand, but they will not be returned to the pool and instead will be
immediately expire.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_minsize">minSize</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Specifies the minimum number of bean instances that should be in the
pool for each bean.</p>
</div>
<div class="paragraph">
<p>Pools are prefilled to the minimum on startup. Note this will create
start order dependencies between other beans that also eagerly start,
such as other <code>@Stateless</code> beans with a minimum or <code>@Singleton</code> beans
using <code>@Startup</code>. The <code>@DependsOn</code> annotation can be used to
appropriately influence start order.</p>
</div>
<div class="paragraph">
<p>The minimum pool size is rigidly maintained. Instances in the minimum
side of the pool are not eligible for <code>IdleTimeout</code> or
<code>GarbageCollection</code>, but are subject to <code>MaxAge</code> and flushing.</p>
</div>
<div class="paragraph">
<p>If the pool is flushed it is immediately refilled to the minimum size
with <code>MaxAgeOffset</code> applied. If an instance from the minimum side of the
pool reaches its <code>MaxAge</code>, it is also immediately replaced. Replacement
is done in a background queue using the number of threads specified by
<code>CallbackThreads</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_replaceaged">replaceAged</h2>
<div class="sectionbody">
<div class="paragraph">
<p>When <code>ReplaceAged</code> is enabled, any instances in the pool that expire due
to reaching their <code>MaxAge</code> will be replaced immediately so that the pool
will remain at its current size.</p>
</div>
<div class="paragraph">
<p>Replacement is done in a background queue so that incoming threads will
not have to wait for instance creation.</p>
</div>
<div class="paragraph">
<p>The aim of his option is to prevent user requests from paying the
instance creation cost as <code>MaxAge</code> is enforced, potentially while under
heavy load at peak hours.</p>
</div>
<div class="paragraph">
<p>Instances from the minimum side of the pool are always replaced when
they reach their <code>MaxAge</code>, this setting dictates the treatment of
non-minimum instances.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_replaceflushed">replaceFlushed</h2>
<div class="sectionbody">
<div class="paragraph">
<p>When <code>ReplaceFlushed</code> is enabled, any instances in the pool that are
flushed will be replaced immediately so that the pool will remain at its
current size.</p>
</div>
<div class="paragraph">
<p>Replacement is done in a background queue so that incoming threads will
not have to wait for instance creation.</p>
</div>
<div class="paragraph">
<p>The aim of his option is to prevent user requests from paying the
instance creation cost if a flush performed while under heavy load at
peak hours.</p>
</div>
<div class="paragraph">
<p>Instances from the minimum side of the pool are always replaced when
they are flushed, this setting dictates the treatment of non-minimum
instances.</p>
</div>
<div class="paragraph">
<p>A bean may flush its pool by casting the <code>SessionContext</code> to <code>Flushable</code>
and calling <code>flush()</code>. See <code>SweepInterval</code> for details on how flush is
performed.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-java" data-lang="java">import javax.annotation.Resource;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import java.io.Flushable;
import java.io.IOException;

public class MyBean {

    private SessionContext sessionContext;

    public void flush() throws IOException {

        ((Flushable) sessionContext).flush();
    }
}</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_strictpooling">strictPooling</h2>
<div class="sectionbody">
<div class="paragraph">
<p>StrictPooling tells the container what to do when the pool reaches it&#8217;s
maximum size and there are incoming requests that need instances.</p>
</div>
<div class="paragraph">
<p>With strict pooling, requests will have to wait for instances to become
available. The pool size will never grow beyond the the set <code>MaxSize</code>
value. The maximum amount of time a request should wait is specified via
the <code>AccessTimeout</code> setting.</p>
</div>
<div class="paragraph">
<p>Without strict pooling, the container will create temporary instances to
meet demand. The instances will last for just one method invocation and
then are removed.</p>
</div>
<div class="paragraph">
<p>Setting <code>StrictPooling</code> to <code>false</code> and <code>MaxSize</code> to <code>0</code> will result in
no pooling. Instead instances will be created on demand and live for
exactly one method call before being removed.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_sweepinterval">sweepInterval</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The frequency in which the container will sweep the pool and evict
expired instances.</p>
</div>
<div class="paragraph">
<p>Eviction is how the <code>IdleTimeout</code>, <code>MaxAge</code>, and pool "flush"
functionality is enforced. Higher intervals are better.</p>
</div>
<div class="paragraph">
<p>Instances in use are excluded from sweeping. Should an instance expire
while in use it will be evicted immediately upon return to the pool.
Effectively <code>MaxAge</code> and flushes will be enforced as a part of normal
activity or sweeping, while IdleTimeout is only enforcable via sweeping.
This makes aggressive sweeping less important for a pool under moderate
load.</p>
</div>
<div class="paragraph">
<p>Usable time units: nanoseconds, microsecons, milliseconds, seconds,
minutes, hours, days. Or any combination such as
<code>1 hour and 27 minutes and 10 seconds</code></p>
</div>
</div>
</div>
            </div>
            
        </div>
    </div>
<div style="margin-bottom: 30px;"></div>
<footer>
		<div class="container">
			<div class="row">
				<div class="col-sm-6 text-center-mobile">
					<h3 class="white">Be simple.  Be certified. Be Tomcat.</h3>
					<h5 class="light regular light-white">"A good application in a good server"</h5>
					<ul class="social-footer">
						<li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li>
						<li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li>
					</ul>
					<h5 class="light regular light-white">
						<a href="../../privacy-policy.html" class="white">Privacy Policy</a>
					</h5>
				</div>
				<div class="col-sm-6 text-center-mobile">
					<div class="row opening-hours">
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../latest/docs/" class="white">Documentation</a></h5>
							<ul class="list-unstyled">
								<li><a href="../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li>
								<li><a href="../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li>
								<li><a href="../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li>
								<li><a href="../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../latest/examples/" class="white">Examples</a></h5>
							<ul class="list-unstyled">
								<li><a href="../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li>
								<li><a href="../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li>
								<li><a href="../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li>
								<li><a href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../community/index.html" class="white">Community</a></h5>
							<ul class="list-unstyled">
								<li><a href="../../community/contributors.html" class="regular light-white">Contributors</a></li>
								<li><a href="../../community/social.html" class="regular light-white">Social</a></li>
								<li><a href="../../community/sources.html" class="regular light-white">Sources</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../../security/index.html" class="white">Security</a></h5>
							<ul class="list-unstyled">
								<li><a href="https://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
								<li><a href="https://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
								<li><a href="https://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li>
							</ul>
						</div>
					</div>
				</div>
			</div>
			<div class="row bottom-footer text-center-mobile">
				<div class="col-sm-12 light-white">
					<p>Copyright &copy; 1999-2022 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
				</div>
			</div>
		</div>
	</footer>
	<!-- Holder for mobile navigation -->
	<div class="mobile-nav">
        <ul>
          <li><a hef="../../latest/docs/admin/index.html">Administrators</a>
          <li><a hef="../../latest/docs/developer/index.html">Developers</a>
          <li><a hef="../../latest/docs/advanced/index.html">Advanced</a>
          <li><a hef="../../community/index.html">Community</a>
        </ul>
		<a href="#" class="close-link"><i class="arrow_up"></i></a>
	</div>
	<!-- Scripts -->
	<script src="../../js/jquery-1.11.1.min.js"></script>
	<script src="../../js/owl.carousel.min.js"></script>
	<script src="../../js/bootstrap.min.js"></script>
	<script src="../../js/wow.min.js"></script>
	<script src="../../js/typewriter.js"></script>
	<script src="../../js/jquery.onepagenav.js"></script>
	<script src="../../js/tree.jquery.js"></script>
	<script src="../../js/highlight.pack.js"></script>
    <script src="../../js/main.js"></script>
		</body>

</html>

