<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ExpiringSessionRecycler xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/session/ExpiringSessionRecycler.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.core.session;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> java.net.SocketAddress;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.ExpirationListener;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.ExpiringMap;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <em class="jxr_javadoccomment"> * An {@link IoSessionRecycler} with sessions that time out on inactivity.</em>
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <em class="jxr_javadoccomment"> * @org.apache.xbean.XBean</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/session/ExpiringSessionRecycler.html">ExpiringSessionRecycler</a> <strong class="jxr_keyword">implements</strong> <a href="../../../../../org/apache/mina/core/session/IoSessionRecycler.html">IoSessionRecycler</a> {
<a class="jxr_linenumber" name="L34" href="#L34">34</a>      <em class="jxr_javadoccomment">/** A map used to store the session */</em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a>      <strong class="jxr_keyword">private</strong> ExpiringMap&lt;SocketAddress, IoSession&gt; sessionMap;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  
<a class="jxr_linenumber" name="L37" href="#L37">37</a>      <strong class="jxr_keyword">private</strong> ExpiringMap&lt;SocketAddress, IoSession&gt;.Expirer mapExpirer;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  
<a class="jxr_linenumber" name="L39" href="#L39">39</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/session/ExpiringSessionRecycler.html">ExpiringSessionRecycler</a>() {
<a class="jxr_linenumber" name="L40" href="#L40">40</a>          <strong class="jxr_keyword">this</strong>(ExpiringMap.DEFAULT_TIME_TO_LIVE);
<a class="jxr_linenumber" name="L41" href="#L41">41</a>      }
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  
<a class="jxr_linenumber" name="L43" href="#L43">43</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/session/ExpiringSessionRecycler.html">ExpiringSessionRecycler</a>(<strong class="jxr_keyword">int</strong> timeToLive) {
<a class="jxr_linenumber" name="L44" href="#L44">44</a>          <strong class="jxr_keyword">this</strong>(timeToLive, ExpiringMap.DEFAULT_EXPIRATION_INTERVAL);
<a class="jxr_linenumber" name="L45" href="#L45">45</a>      }
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
<a class="jxr_linenumber" name="L47" href="#L47">47</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/session/ExpiringSessionRecycler.html">ExpiringSessionRecycler</a>(<strong class="jxr_keyword">int</strong> timeToLive, <strong class="jxr_keyword">int</strong> expirationInterval) {
<a class="jxr_linenumber" name="L48" href="#L48">48</a>          sessionMap = <strong class="jxr_keyword">new</strong> ExpiringMap&lt;SocketAddress, IoSession&gt;(timeToLive, expirationInterval);
<a class="jxr_linenumber" name="L49" href="#L49">49</a>          mapExpirer = sessionMap.getExpirer();
<a class="jxr_linenumber" name="L50" href="#L50">50</a>          sessionMap.addExpirationListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/ExpiringSessionRecycler.html">DefaultExpirationListener</a>());
<a class="jxr_linenumber" name="L51" href="#L51">51</a>      }
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  
<a class="jxr_linenumber" name="L53" href="#L53">53</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L56" href="#L56">56</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> put(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a class="jxr_linenumber" name="L57" href="#L57">57</a>          mapExpirer.startExpiringIfNotStarted();
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  
<a class="jxr_linenumber" name="L59" href="#L59">59</a>          SocketAddress key = session.getRemoteAddress();
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
<a class="jxr_linenumber" name="L61" href="#L61">61</a>          <strong class="jxr_keyword">if</strong> (!sessionMap.containsKey(key)) {
<a class="jxr_linenumber" name="L62" href="#L62">62</a>              sessionMap.put(key, session);
<a class="jxr_linenumber" name="L63" href="#L63">63</a>          }
<a class="jxr_linenumber" name="L64" href="#L64">64</a>      }
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  
<a class="jxr_linenumber" name="L66" href="#L66">66</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L67" href="#L67">67</a>  <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L69" href="#L69">69</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> recycle(SocketAddress remoteAddress) {
<a class="jxr_linenumber" name="L70" href="#L70">70</a>          <strong class="jxr_keyword">return</strong> sessionMap.get(remoteAddress);
<a class="jxr_linenumber" name="L71" href="#L71">71</a>      }
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  
<a class="jxr_linenumber" name="L73" href="#L73">73</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L76" href="#L76">76</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> remove(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a class="jxr_linenumber" name="L77" href="#L77">77</a>          sessionMap.remove(session.getRemoteAddress());
<a class="jxr_linenumber" name="L78" href="#L78">78</a>      }
<a class="jxr_linenumber" name="L79" href="#L79">79</a>  
<a class="jxr_linenumber" name="L80" href="#L80">80</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> stopExpiring() {
<a class="jxr_linenumber" name="L81" href="#L81">81</a>          mapExpirer.stopExpiring();
<a class="jxr_linenumber" name="L82" href="#L82">82</a>      }
<a class="jxr_linenumber" name="L83" href="#L83">83</a>  
<a class="jxr_linenumber" name="L84" href="#L84">84</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getExpirationInterval() {
<a class="jxr_linenumber" name="L85" href="#L85">85</a>          <strong class="jxr_keyword">return</strong> sessionMap.getExpirationInterval();
<a class="jxr_linenumber" name="L86" href="#L86">86</a>      }
<a class="jxr_linenumber" name="L87" href="#L87">87</a>  
<a class="jxr_linenumber" name="L88" href="#L88">88</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getTimeToLive() {
<a class="jxr_linenumber" name="L89" href="#L89">89</a>          <strong class="jxr_keyword">return</strong> sessionMap.getTimeToLive();
<a class="jxr_linenumber" name="L90" href="#L90">90</a>      }
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  
<a class="jxr_linenumber" name="L92" href="#L92">92</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setExpirationInterval(<strong class="jxr_keyword">int</strong> expirationInterval) {
<a class="jxr_linenumber" name="L93" href="#L93">93</a>          sessionMap.setExpirationInterval(expirationInterval);
<a class="jxr_linenumber" name="L94" href="#L94">94</a>      }
<a class="jxr_linenumber" name="L95" href="#L95">95</a>  
<a class="jxr_linenumber" name="L96" href="#L96">96</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTimeToLive(<strong class="jxr_keyword">int</strong> timeToLive) {
<a class="jxr_linenumber" name="L97" href="#L97">97</a>          sessionMap.setTimeToLive(timeToLive);
<a class="jxr_linenumber" name="L98" href="#L98">98</a>      }
<a class="jxr_linenumber" name="L99" href="#L99">99</a>  
<a class="jxr_linenumber" name="L100" href="#L100">100</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/session/ExpiringSessionRecycler.html">DefaultExpirationListener</a> <strong class="jxr_keyword">implements</strong> ExpirationListener&lt;IoSession&gt; {
<a class="jxr_linenumber" name="L101" href="#L101">101</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> expired(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> expiredSession) {
<a class="jxr_linenumber" name="L102" href="#L102">102</a>             expiredSession.close(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L103" href="#L103">103</a>         }
<a class="jxr_linenumber" name="L104" href="#L104">104</a>     }
<a class="jxr_linenumber" name="L105" href="#L105">105</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2004&#x2013;2016 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</div>
</body>
</html>
