Changing the Maximum Session Idle Time in APEX

APEX allows you to set the maximum idle time for a given session. This is an application level attribute that is set in Shared Components > Security Attributes. Under the Session Management there is a setting for Maximum Session Idle Time in Seconds which defaults to 3600 seconds:

{% asset_img max-idle-setting.png %}

When a new session is created in APEX, the max idle time is "copied" from the application settings directly into the user's session settings. If you change the setting at an application level only new sessions will use the new value. Existing sessions will use the old value.

The following example demonstrates when changes take effect. The current max idle time is set to 3600 and one session is active (i.e. one user is logged in):

-- App setting
select aa.maximum_session_idle_seconds
from apex_applications aa
where aa.application_id = 101
;

   MAXIMUM_SESSION_IDLE_SECONDS
_______________________________
                           3600

-- Active sessions
select
  ws.apex_session_id,
  ws.session_max_idle_sec
from apex_workspace_sessions ws
;

   APEX_SESSION_ID    SESSION_MAX_IDLE_SEC
__________________ _______________________
    10974491127217                    3600

The Maximum Session Idle Time in Seconds setting is is changed to 200 seconds and then a new user logs in (i.e. a new session is created):

-- App setting
select aa.maximum_session_idle_seconds
from apex_applications aa
where aa.application_id = 101
;

   MAXIMUM_SESSION_IDLE_SECONDS
_______________________________
                            200

-- Active sessions
select
  ws.apex_session_id,
  ws.session_max_idle_sec
from apex_workspace_sessions ws
;

   APEX_SESSION_ID    SESSION_MAX_IDLE_SEC
__________________ _______________________
     3565745405186                     200
    10974491127217                    3600

You can see that the older session (10974491127217) still retains the old max idle time (3600 seconds) whereas the new session (3565745405186) uses the new value (200 seconds).

When testing these settings it's important that you create a new session each time a change is made.