Unbegrenzte Session

Status
Nicht offen für weitere Antworten.
T

Tho82

Gast
Hallo,

ich habe in meiner Webapplikation in der web.xml folgendes angegeben:

Code:
<session-config>
    <session-timeout>120</session-timeout>
  </session-config>

Die Session wird also nach 2 Stunden beendet. Da ich aber keine Weboberfläche habe sondern nur einen Applikation im Hintergrund unbegrenzt lange laufen lassen will, würde ich gerne wissen, wie ich die session auf unbegrenzt setzen kann.

Vielen Dank und Gruß

Tho
 

FArt

Top Contributor
Eine unbegrenzte (oder sehr hohe) Lebensdauer einer Session macht in der Regel keinen Sinn, da das ein potentielles Speicherleck ist.

Schau mal in die Doku des Webservers deiner Wahl.
 
T

Tho82

Gast
FArt hat gesagt.:
Eine unbegrenzte (oder sehr hohe) Lebensdauer einer Session macht in der Regel keinen Sinn, da das ein potentielles Speicherleck ist.

Schau mal in die Doku des Webservers deiner Wahl.

In diesem Fall macht es aber Sinn, da ich auf die im Hintergrund laufende Applikation mit einer Administrationsoberfläche zugreifen will. Die im Hintergrund laufende Applikation ist ein eigener Thread aber wird leider beim Sessiontimeout beendet (In der Adminoberfläche hole ich mir die Hintergrundapplikation mit .getInstance() (Singleton)).

Weitere ideen?
 
T

Tho82

Gast
FArt hat gesagt.:
Eine unbegrenzte (oder sehr hohe) Lebensdauer einer Session macht in der Regel keinen Sinn, da das ein potentielles Speicherleck ist.

Schau mal in die Doku des Webservers deiner Wahl.

... arbeite mit Tomcat...
 

tfa

Top Contributor
Bastel dir ein automatisches Reconnect bei einem Session-Timeout. Dann bekommt der Anwender nichts davon mit, außer, dass es vielleicht ein bisschen hakt.

Unendliche Sessiondauer ist wie gesagt schlecht. Wenn die Clients abstürzen oder nicht korrekt geschlossen werden, wirst du die Sessions nie wieder los.
 
S

SlaterB

Gast
was kann eigentlich eine Session so wichtiges machen?
kannst doch die Daten genausogut in einer statischen Variable speichern oder in irgendwas eigenem nachgebauten
(gerne mit Map Key ClientId -> Value Daten)

alles mögliche nachzubauen ist zwar nicht schön, aber so eine einfache Map (Session) + bisschen Zuordnung zum Client können ja nicht mehr als 100 Zeilen Code sein

> Unendliche Sessiondauer ist wie gesagt schlecht. Wenn die Clients abstürzen oder nicht korrekt geschlossen werden, wirst du die Sessions nie wieder los.

..

mein Gott,
ein endlos offener Window-Explorer ist schlimm, der User könnte ja vergessen ihn auszuschalten..,
es ist KEINE normale Web-Applikation
 

FArt

Top Contributor
SlaterB hat gesagt.:
was kann eigentlich eine Session so wichtiges machen?
kannst doch die Daten genausogut in einer statischen Variable speichern oder in irgendwas eigenem nachgebauten
(gerne mit Map Key ClientId -> Value Daten)

alles mögliche nachzubauen ist zwar nicht schön, aber so eine einfache Map (Session) + bisschen Zuordnung zum Client können ja nicht mehr als 100 Zeilen Code sein

> Unendliche Sessiondauer ist wie gesagt schlecht. Wenn die Clients abstürzen oder nicht korrekt geschlossen werden, wirst du die Sessions nie wieder los.

..

mein Gott,
ein endlos offener Window-Explorer ist schlimm, der User könnte ja vergessen ihn auszuschalten..,
es ist KEINE normale Web-Applikation

???:L :?: :autsch: :?:

Wie meinen?

Was ist eine normale Webapplikation, oder besser, was ist eine unnormale? Und wie unterscheidet das der Webserver? Und vielleicht ist ja der Ansatz ganz falsch und die Antworten hier sollen den Poster anregen über seinen Ansatz nachzudenken?
 

tfa

Top Contributor
SlaterB hat gesagt.:
> Unendliche Sessiondauer ist wie gesagt schlecht. Wenn die Clients abstürzen oder nicht korrekt geschlossen werden, wirst du die Sessions nie wieder los.

..

mein Gott,
ein endlos offener Window-Explorer ist schlimm, der User könnte ja vergessen ihn auszuschalten..,
es ist KEINE normale Web-Applikation
Was willst du uns damit sagen? Was ist der Unterschied einer "normalen" Web-Applikation und einer anderen x-belieben Client/Server-Applikation bezgl. Sessionhandling??
 
S

SlaterB

Gast
dass Sessions nicht in Massen auftreten müssen,
dass ein Client-Absturz wie z.B. Rechner-Ausfall gleich den auf denselbem Rechner laufenen Server mit-beendet
usw.

dass die ganze Anwendung allein durch den Einsatz eines dicken Tomcat-Servers schon einen technischen Overhead von 100 MB Speicherbelastung erzeugt und dann 2-3 alte Sessions von je 4kb nicht wirklich relevant sind
usw
 
M

maki

Gast
Und vielleicht ist ja der Ansatz ganz falsch und die Antworten hier sollen den Poster anregen über seinen Ansatz nachzudenken?
Aus den vorherigen Posts des TS ist zu schliessen, dass er TC für eine nicht Webapplikation "nutzen" will.
Wozu das gut sein soll kann ich nicht nachvollziehen, denke dass er mit einer anderen Lösung besser dran wäre.
 

tfa

Top Contributor
SlaterB hat gesagt.:
dass Sessions nicht in Massen auftreten müssen,
dass ein Client-Absturz wie z.B. Rechner-Ausfall gleich den auf denselbem Rechner laufenen Server mit-beendet
usw.
Keine Ahnung ob das beim OP der Fall ist, aber das klingt nach Frickelkram. Dann kannst du auch globale statische Variablen nehmen. Vernünftig geht anders.

maki hat gesagt.:
Aus den vorherigen Posts des TS ist zu schliessen, dass er TC für eine nicht Webapplikation "nutzen" will.
Wozu das gut sein soll kann ich nicht nachvollziehen, denke dass er mit einer anderen Lösung besser dran wäre.
Wir machen das auch. 3-Schicht-Anwendung mit (Rich) Swing-Client und Tomcat als Application-Server mit Spring Framework. Funktioniert wunderbar.
 
S

stev.glasow

Gast
Tho82 hat gesagt.:
Hallo,

ich habe in meiner Webapplikation in der web.xml folgendes angegeben:

Code:
<session-config>
    <session-timeout>120</session-timeout>
  </session-config>

Die Session wird also nach 2 Stunden beendet. Da ich aber keine Weboberfläche habe sondern nur einen Applikation im Hintergrund unbegrenzt lange laufen lassen will, würde ich gerne wissen, wie ich die session auf unbegrenzt setzen kann.

Vielen Dank und Gruß

Tho
glaub du kannst das session timeout auf -1 setzen. dann dauert die unendlich. oder setz es halt auf 1-2 jahre. ändert jetzt am design problem nichts, aber hilft vielleicht kurzfristig weiter
 
G

Guest

Gast
Funktioniert bei mir leider nicht.. dann erfolgt der Timeout nach rund 5 Sekunden. Ist vielleicht Icefaces o.ä. dran schuld?
 

tfa

Top Contributor
Dann setz es halt auf MAX_INT Minuten, und vergiss nicht den Server regelmäßig neu zu starten um aufzuräumen.
 

FArt

Top Contributor
stevg hat gesagt.:
glaub du kannst das session timeout auf -1 setzen. dann dauert die unendlich. oder setz es halt auf 1-2 jahre. ändert jetzt am design problem nichts, aber hilft vielleicht kurzfristig weiter
Das geht bei BEA glaube ich so... -2 hat da auch eine Sonderbedeutung... woanders ist es 0... deshalb mein Hinweis auf die Doku des Webservers... wobei nur "Tomcat" schon wieder für den Popo ist... ;-)

Dennoch bin ich mit solchen Infos sparsam, wenn ich sehe dass der Hund vermutlich woanders begraben ist und die angesprochene "Lösung" leicht zu ergoogeln ist...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Gleiche Session von EJB Container in JSF Container verwenden? Web Tier 21
R Session löschen Web Tier 3
J Session ist nach Klick auf Zurück-Button wieder aktiv Web Tier 3
jann Servlet Bei jedem Request wird eine neue Session erstellt. Web Tier 6
J Session Servlet - JavaScript Web Tier 6
M Session closed - und nun? Web Tier 1
F JSF synchronized(session) Frage ? Web Tier 1
F JSF p:selectOneMenu Session Web Tier 10
T JSF Problem wenn Session abgelaufen ist Web Tier 6
Q JSF bei Session-Timeout Weiterleitung auf spezielle Login-Seite Web Tier 15
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
R Servlet Resource laden für SMTP - Session Web Tier 4
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
R JSF Session Handling Web Tier 3
X JSP Auslesen der Daten einer Session Web Tier 3
X Managed Bean Scope zwischen Request und Session gesucht Web Tier 6
crashfinger JSP Session verloren bei DNS Servernamen & IE Web Tier 6
C session trackung auf einfacher web-site Web Tier 17
F JSF Session-Kolision Web Tier 3
R Zugriff auf Session direkt auf JSF-Seite Web Tier 2
H JSF Session Initialisierung Web Tier 2
E JSP Browser Tab Session Web Tier 7
F Session Tutorial Web Tier 5
T JSP Session Login - Sicherheit Web Tier 4
J Loginbereich mit Session und Datenbank Web Tier 5
M 2 Cookies in der session (cocoon 2.2) Web Tier 4
F Richtiges Session Management mit Servlets Web Tier 4
P JSP: Liste in Bean über Session aufbauen Web Tier 6
7 Struts+AJAX- Session-Handling? Web Tier 2
B JSF session bean mit worker thread updaten Web Tier 7
J Crash bei session timeout Web Tier 3
M session Speicherort - ID ändern Web Tier 8
V ANFÄNGER : eigene Session Web Tier 3
V DatenbankConnection an Session hängen Web Tier 4
P session.removeAttribute Web Tier 3
K Orientierungslosigkeit: Webservice+Ajax(echo2)+Session-Management Web Tier 4
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
D JSF: Best Practice "Session invalidate nach Schließen des Browsers"? Web Tier 3
D tapestry 5 session Web Tier 2
J Struts 2 session ID auslesen? Web Tier 5
M [J2EE] Session-Save Static-Objects? Web Tier 6
S Problem mit Session - Übergabe von Kontext zu Kontext Web Tier 2
F JSF: Beans in Session oder Request? Web Tier 4
H JSF - Bean (scope session) - Verfallsdatum? Web Tier 3
T Problem bei Session-Timeout Web Tier 3
M JSF refresh vs. session scope Web Tier 9
G Session in Servlet Starten und mit JSTL auslesen Web Tier 2
G Servlet - Von Parametern umstellen auf Session Web Tier 8
G jsf session erstellen Web Tier 10
rambozola session attribut in servlets und jsps Web Tier 11
M JSF session.invalidate() klappt nicht Web Tier 3
G Session.invalide() funktioniert nicht richtig Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben