Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

Session Timeout im BI Publisher

leave a comment »

Wer kennt diese Nachricht nicht, arbeitet man als Entwickler mit dem Oracle BI Publisher und wurde einige Zeit durch ein Gespräch oder Telefonat abgelenkt.

BIP Session Timeout

BI Publisher Session Timeout

War es im BI Publisher 10g noch relativ einfach, diese Zeit heraufzusetzen, gestaltet sich das in der aktuellen Version 11g nicht ganz so einfach.
Ein erster Versuch, den Parameter Session Timeout (in seconds) über die WLS Console in der Konfiguration des Deployments zu ändern bringt jedenfalls nicht das gewünschte Ergebnis.

Session Timeout Configuration

Session Timeout in der WLS Console

Dieser Wert beträgt standardmäßig 3600 (Sekunden). Da der Timeout wesentlich früher zuschlägt, zieht dieser Wert offenbar nicht. Tatsächlich findet man in der Datei web.xml folgende Einstellung (Angaben in Minuten)

<session-config>
  <session-timeout>20</session-timeout>
</session-config>

Offensichtlich kommt die erste Warnung vor dem Timeout 5 Minuten bevor der Benutzer abgemeldet wird.
Die Datei web.xml befindet sich in Abhängigkeit von der installierten Version des BI Publisher an unterschiedlichen Stellen. Man muss aber nicht mühsam danach suchen, da wir die Einstellung ohnehin nicht in der Datei ändern werden.
Stattdessen werden wir einen Deployment Plan erzeugen und den gewünschten Wert dort eintragen.
Es gibt verschiedene Möglichkeiten, einen Deployment Plan zu erzeugen (Oracle JDeveloper, Oracle Enterprise Pack for Eclipse, WLS Scripting Language, WLS Console).
Wir verwenden in diesem Fall die Web Console des WLS (http://host:port/console) und rufen zunächst die Applikation des BI Publisher (bipublisher bzw. xmlpublisher) unter dem Punkt Deployments auf.

BIP Deployment

BI Publisher Deployment

Dann wählen wir einen beliebigen Parameter, z.B. den (wirkungslosen) Session Timeout unter Configuration aus, ändern den Wert und speichern die Änderung ab. Der WLS fordert uns nun auf, einen Deployment Plan unter dem Namen Plan.xml anzulegen.

Deployment Plan

Deployment Plan

Wir akzeptieren sowohl den Namen als auch das Verzeichnis und können danach die Console schließen. Das der WebLogic Server im laufenden Betrieb eine Kopie der Plan.xml vorhält, müssen wir zunächst den Server herunterfahren, bevor wir Änderungen in der Datei vornehmen.
Bevor wir manuelle Änderungen in der Datei Plan.xml vornehmen, sollte unbedingt eine Sicherheitskopie der Datei  erzeugt werden. Sind die Änderungen fehlerhaft, startet in vielen Fällen die Anwendung nicht mehr und wir können notfalls auf die Sicherheitskopie zurückgreifen.

In der Datei Plan.xml sind folgende Ergänzungen vorzunehmen:

  1. In der Sektion <variable-definition>
    <variable>
    <name>NewSessionValue</name>
    <value>150</value>
    </variable>
    

     

  2. In der Sektion <module-override>
    <module-descriptor external="false">
    <root-element>web-app</root-element>
    <uri>WEB-INF/web.xml</uri>
    <variable-assignment>
    <name>NewSessionValue</name>
    <xpath>/web-app/session-config/session-timeout</xpath>
    </variable-assignment>
    </module-descriptor>
    

Da wir direkt im Text ändern, muss sehr sorgfältig auf die korrekte Schachtelung der Tags und die Syntax geachtet werden.
Anschließend kann der WLS wieder gestartet werden. Danach sollte man noch einmal das Deployment der Applikation in der WLS Console auf eventuelle Fehlermeldungen überprüfen.
Im Beispiel ist der Wert auf 150 Minuten gesetzt. Hier wäre es sinnvoll, zunächst mit einem kleinen Wert (z.B. 5 Minuten) zu testen. Taucht nach dieser Zeit das Fenster mit dem Warnhinweis auf, war unser Vorgehen offensichtlich erfolgreich und wir können den Wert hochsetzen.
Ein besonderer Dank geht an unseren Kollegen Michael Fuhr, der  diesen Lösungsvorschlag  entwickelt hat.

<JM>

Written by fmtechteam

15/10/2013 um 17:10

Veröffentlicht in BI Publisher, Jürgen Menge, WebLogic

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: