Java munkamenet időtúllépése

1. Áttekintés

Ez az oktatóanyag megmutatja, hogyan kell beállítani munkamenet időkorlátja egy Servlet alapú webalkalmazásban.

2. Globális munkamenet időkorlátja a web.xml

Az összes Http munkamenet időkorlátja a web.xml webes alkalmazás:

  ...  10  

Vegye figyelembe, hogy az időtúllépés értéke be van állítva percek alatt, nem másodpercek alatt.

Érdekes sidenode, hogy egy Servlet 3.0 környezetben, ahol az XML telepítési leíró helyett annotációk is használhatók, nincs mód a globális munkamenet időtúllépésének programozott beállítására. A munkamenet időkorlátjának programozási konfigurációja nyitott kérdéssel rendelkezik a Servlet Spec JIRA-ban - de a problémát még nem ütemezték be.

3. Programozási időkorlát egyéni munkamenetenként

Az időtúllépés csak az aktuális munkamenet programozottan meghatározható a javax.servlet.http.HttpSession:

HttpSession session = request.getSession (); session.setMaxInactiveInterval (10 * 60);

Szemben a elem, amelynek értéke percekben volt, a setMaxInactiveInterval metódus elfogad egy értéket másodpercek alatt.

4. A Tomcat Session Timeout

Az összes Tomcat szerver alapértelmezett értéket ad meg web.xml a teljes webszerverhez globálisan konfigurálható fájl - ez a következő helyen található:

$ tomcat_home / conf / web.xml

Ez az alapértelmezett telepítési leíró a 30 percig.

Egyéni telepített alkalmazások, amelyek megadják a saját időtúllépési értékeiket web.xml a leírók elsőbbséget élveznek a és felül fogja írni ezt a globális web.xml konfiguráció.

Ne feledje, hogy ugyanez lehetséges a mólón is: a fájl a következő helyen található:

$ jetty_home / etc / webdefault.xml

5. Következtetés

Ez az oktatóanyag megvitatta a a HTTP munkamenet időtúllépésének konfigurálása Servlet Java alkalmazásban. Azt is szemléltettük, hogyan lehet ezt beállítani webszerver szinten, mind a Tomcatban, mind a Jetty-ben.

Ezeknek a példáknak a megvalósítása megtalálható a github projektben - ez egy Eclipse alapú projekt, ezért könnyen importálhatónak és futtathatónak kell lennie.

Amikor a projekt helyi szinten fut, a kezdőlap html a következő címen érhető el: