arrow_back history picture_as_pdf This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ~~Title: Using SessionContext~~ SessionContext is an object available only at the server that enables access to session information as well as certain objects related to a session during the handling of a client request. ==== Example ==== We have developed an application that reviews all existing messages in an email account and displays the number of messages. The request is initiated at the client by clicking a button. The call using a button is illustrated in [[jvx:client:gui:actions|Client Actions]] or [[jvx:communication:calling_server_action|Server Actions]] The server action accesses the mail server; the required access data is obtained from the application configuration. Sample code for the server action: <file java> /** * 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(); } </file> Excerpt from the configuration file: <file xml> ... ... <email> <server>servername or ip</server> <port>110</port> <protocol>pop3</protocol> <username>username</username> <password>password</password> </email> </application> </file> ==== SessionContext Life Cycle ==== {{:jvx:server:lco:sessioncontext_lifecycle.png?nolink|}} ==== Additional Examples ==== SessionContext can also be used for the following: * Access session properties (e.g., application name, username, client properties) * Request the name of the current action * Access the server configuration * Use of the direct server connection * Add or remove objects related to a call