Trace: • Den SessionContext verwenden
Table of Contents
Der SessionContext ist ein Objekt das ausschließlich am Server zur Verfügung steht und während der Behandlung eines Client Aufrufs den Zugriff auf Session Informationen sowie spezielle Session bezogene Objekte ermöglicht.
Anwendungsbeispiel
We haveWir haben eine Applikation erstellt, die von einem E-Mail Konto alle vorhandenen Nachrichten prüft und die Anzahl der Nachrichten anzeigt. Der Aufruf wird am Client durch einen Button angestoßen.
Der Aufruf durch den Button funktioniert wie z.B.: Client Actions, Server Actions
Die Server Action führt den Zugriff auf den Mail Server durch und für den Zugriff werden die Zugriffsdaten benötigt. Die Daten werden aus der Applikations Konfiguration ausgelesen.
Beispielcode für die Server Action
/** * Returns the number of mails from a preconfigured email account. * * @return the number of mails */ public int getEmailCount() { IConfiguration cfgSession = SessionContext.getCurrentSessionConfig(); String sServer = cfgSession.getProperty("/application/email/server"); String sPort = cfgSession.getProperty("/application/email/port"); String sProtocol = cfgSession.getProperty("/application/email/protocol"); String sUser = cfgSession.getProperty("/application/email/username"); String sPwd = cfgSession.getProperty("/application/email/password"); MailCheck mcheck = new MailCheck(sServer, sPort, sProtocol); return mcheck.getMails(sUser, sPwd).size(); }
Auszug aus der Konfigurationsdatei:
... ... <email> <server>servername or ip</server> <port>110</port> <protocol>pop3</protocol> <username>username</username> <password>password</password> </email> </application>
Der Lebenszyklus des SessionContext
Weitere Anwendungsfälle
Der SessionContext kann auch genutzt werden um:
- Zugriff auf die Properties der Session zu erlangen z.B. Applikationsname, Benutzername, Client Properties
- Abfragen des Namens der aktuellen Action
- Zugriff auf die Server Konfiguration
- Verwenden der Direkten Server Connection
- Hinzufügen und Entfernen von Aufrufbezogenen Objekten