Configuración del tiempo de espera basado en la actividad

A veces se realizan solicitudes a Transaction server sin que pasen por la cookie de WC_USERACTIVITY. Algunos ejemplos de ello son las solicitudes de REST que utilizan WCToken, las solicitudes de Management Center for HCL Commerce y las solicitudes de los servicios web. En estos casos, puesto que no se puede imponer el tiempo de espera basado en cookies, debe habilitarse el tiempo de espera de la sesión. La configuración de la sesión basada en la actividad se almacena en el archivo de configuración HCL Commerce.

Procedimiento

  1. Abra el archivo de configuración de HCL Commerce archivo de configuración (wc-server.xml).
  2. Busque y configure el elemento <ExpiryManagement> para que se adapte a sus requisitos de disponibilidad.
    <ExpiryManagement  
    		ExpiryMgmtChannelId=”-4, -6” 
    		InactivityTimeout="15" Threshold="15"  
    	enable="true"/>
    Donde:
    ExpiryMgmtChannelId
    Hace referencia al ID de canal (tabla BUSCHN) donde se ejecuta el tiempo de espera expirado de la actividad. Se pueden especificar varios valores de la forma que se muestra en el ejemplo.
    Los valores aceptados son:
    • -4 se utiliza para los casos siguientes:
      • Solicitudes de REST que utilizan WCTokens cuando la cookie de WC_USERACTIVITY no está presente.
      • Solicitudes de Management Center.
      • Solicitudes de servicios web.
    • -6 hace referencia a solicitudes de dispositivos móviles.
    • -1 hace referencia a las solicitudes de los canales web y a las solicitudes basadas en REST. No se recomienda utilizar esta opción. Se recomienda establecer un tiempo de espera basado en cookies para estas solicitudes.
    InactivityTimeout
    Utilizado en combinación con Threshold, InactiityTimeout define la cantidad mínima de tiempo que hay entre las actualizaciones de la base de datos al ampliar las sesiones.

    La última hora de acceso se establece por primera vez en la base de datos cuando el usuario inicia la sesión. La sesión permanece activa dentro del valor de tiempo establecido por este parámetro, en minutos. En la configuración de ejemplo, está establecido en 15 minutos. En este caso, las solicitudes que se realicen al servidor dentro de los 15 minutos posteriores a la última hora de acceso de la actividad se tendrán en cuenta en la sesión. No se realizan actualizaciones en la última hora de acceso.

    Umbral
    Si una solicitud se produce después del período establecido por InactivityTimeout, pero sigue dentro del período definido por este parámetro, la última hora de acceso de la actividad se restablecerá a la hora actual en la base de datos. En este punto, la sesión se mantiene activa y ambos temporizadores se restablecen eficazmente.

    En la configuración de muestra, por ejemplo, el tiempo de umbral son 15 minutos. Por consiguiente, la actividad permanece activa durante 30 (15 + 15) minutos. Si una solicitud se produce más de 30 minutos después de la última hora de acceso, la sesión se considera caducada y el estado de la actividad pasa a ser Caducado.

    El uso combinado de InactivityTimeout y Threshold se utiliza para reducir el número de actualizaciones que se realizan en la base de datos para las sesiones activas. Por ejemplo, si se desea que el valor del tiempo de espera total sea de 60 minutos, una opción es mantener el valor InactivityTimeout en 15 minutos y el valor Threshold en 45 minutos. En este caso, las solicitudes que llegan después de 15 minutos pero antes de 60 minutos dan como resultado la última hora de acceso que se actualizará a la hora actual, manteniendo la sesión activa durante al menos otros 60 minutos.

Resultados

El tiempo de espera de la sesión basada en la actividad ahora se aplica a través de los canales configurados para el sitio.