Timeouts konfigurieren

Dokumente für die Entwicklung von und mit JVx.

Timeouts konfigurieren

Postby Development@SIB » Wed Feb 17, 2010 7:06 pm

Aus Sicherheitsgründen wird die Gültigkeitsdauer für Client/Server Verbindungen bzw. Sessions festgesetzt. Bei Inaktivität (keine Benutzerinteraktion) für eine bestimmte Dauer wird die Verbindung bzw. Session ungültig und der Client muss sich ggf. neu anmelden. Wenn für JVx keine Timeouts definiert wurden, werden die Verbindungen/Sessions nicht ungültig.

Folgende Möglichkeiten bestehen um Timeouts zu definieren:

  • Timeouts für alle Applikationen eines Servers verändern (global und an zentraler Stelle, per Konfiguration)
  • Timeouts pro Applikation verändern (an zentraler Stelle, per Konfiguration)
  • Timeouts pro Connection/Session verändern (im Source Code)


Alle Applikationen

Pro Server können mehrere Applikationen verwendet werden und daher ist es auch möglich, daß für alle Applikationen eines Servers die Timeouts gesetzt werden. Für die Server Konfiguration ist die Datei config.xml im Server Verzeichnis (/rad/server) zuständig.

Die Timeouts werden wie folgt definiert:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<server>
  <timeout>
    <!-- MasterSession timeout in minutes -->
    <mastersession>360</mastersession>
    <!-- SubSession timeout in minutes -->
    <subsession>360</subsession>
  </timeout>
</server>

Das mastersession Timeout legt das Timeout für die MasterSession fest und das subsession Timeout legt das Timeout für SubSessions fest. Die Angaben erfolgen jeweils in Minuten.


Pro Applikation

Die Applikation verwendet im Normalfall das Timeout des Servers. Die Applikation kann jedoch eigene Timeouts definieren bzw. die Timeouts des Servers überstimmen.

Die Konfiguration wird mit der Datei config.xml aus dem Verzeichnis /rad/apps/<name>/config.xml durchgeführt:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<application>
  <timeout>
    <!-- MasterSession timeout in minutes -->
    <mastersession>180</mastersession>
  </timeout>
</application>

Das Beispiel definiert kein Timeout für subsession. Das Timeout für die SubSession wird daher aus der Server Konfiguration verwendet.


Pro Connection/Session

Das Connection Timeout kann im Source Code direkt im Client Code verändert werden, z.B.:

Code: Select all
masterConnection.setTimeout(120);

und Server Seitig über den SessionContext, z.B.:

Code: Select all
SessionContext.getCurrentSession().setMaxInactiveInterval(60);


Hinweis

Wenn die Master Connection nicht verwendet wird, da lediglich über die Sub Connection kommuniziert wird, bleibt die Master Connection dennoch aktiv. Die Aktivität der Sub Connection wird auch als Aktivität in der Master Connection gewertet.
User avatar
Development@SIB
 
Posts: 311
Joined: Mon Sep 28, 2009 1:54 pm

Re: Timeouts konfigurieren

Postby Development@SIB » Tue Oct 13, 2015 3:15 pm

Es ist ebenfalls möglich, das Timeout in Sekunden zu definieren. Einfach folgenden Schlüssel verwenden:

Code: Select all
<timeoutSeconds>
  ...
</timeoutSeconds>

Wenn timeout und timeoutSeconds gesetzt wurden, wird das kürzeste Timeout verwendet.
User avatar
Development@SIB
 
Posts: 311
Joined: Mon Sep 28, 2009 1:54 pm


Return to Dokumentation