<!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">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-2717626-1']);
      _gaq.push(['_setDomainName', 'apache.org']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </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="/">
				    <span>

				    
                        <img src="../../img/logo-active.png">
                    

                    </span>
				    Apache TomEE
                </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 href="../../download-ng.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>
<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>
						<li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li>
					</ul>
				</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="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
								<li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
								<li><a href="http://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-2016 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>

