Identificadores de memoria caché

Cuando el servicio de memoria caché dinámica coloca un objeto en la memoria caché, lo etiqueta con una serie de identificación exclusiva conocida como ID de memoria caché. El ID de memoria caché se construye de acuerdo con las reglas de <cache-id> especificadas en los elementos <cache-entry>. Las reglas de <cache-id> cómo crear los ID de memoria caché a partir de la información asociada con una solicitud de servidor de aplicaciones request.

El <cache-id> se forma a partir de una lista de <components>. Están disponibles varios tipos diferentes de componentes para crear estos ID de memoria caché.

DC_RequestAttributes

Un filtro de servlet que se conoce como filtro de memoria caché permite a la memoria caché dinámica utilizar la información de sesión para crear el ID de memoria caché. El filtro de memoria caché está diseñado para configurar atributos de petición de los datos de sesión, MemberGroupsCacheCmd, y de la información de relaciones de tienda. La memoria caché dinámica puede utilizar los atributos de solicitud como elementos de componente.

Para acceder a estos componentes, establezca el tipo del componente en el atributo y el valor establecido en uno de los valores DC definidos.

La tabla siguiente lista los atributos de solicitud que establece el filtro de memoria caché:

Atributos de petición Descripción:
DC_curr Divisa preferida del usuario
DC_lang Idioma preferido del usuario
DC_cont Contrato actual del usuario
DC_storeId ID de tienda
DC_userId Identificador del usuario
DC_userType Tipo de usuario conectado (G/R/S)
DC_storeIdentifier Identificador de la tienda
Puede crear atributos de solicitud personalizados para crear identificadores de memoria caché. Para obtener más información sobre cómo crear atributos de solicitud personalizados, consulte Atributos de solicitud personalizados para el almacenamiento en memoria caché de servlet.

Llamadas de método de sesión

Los id de memoria caché se componen de valores que están en la sesión de WebSphere Application Server. Para acceder a estos valores, especifique un tipo de componente de sesión y utilice el valor que sea el nombre del objeto de la sesión.

Cookies

Los componentes de ID de memoria caché pueden acceder a los valores de los cookies mencionados. Para acceder a uno de estos cookies en un componente, especifique el tipo de componente como cookie con un valor que coincida con el nombre del cookie.

El uso de cookies limita esta componente a escenarios específicos de web. No puede utilizar este componente con otros protocolos, por ejemplo servicios web.

El almacenamiento en memoria caché de ESI no permite atributos de petición. En este caso, los cookies son útiles para almacenar información de sesión, por ejemplo ID de idioma, ID de moneda preferida, Organización padre, ID de contrato y grupo de miembros.

Llamadas de método de contexto de mandatos

Es posible acceder a los parámetros disponibles en CommandContext. Específicamente, puede iniciar métodos en el objeto CommandContext de forma que se acceda a determinados valores que no estarían disponibles.

Para lograrlo, establezca el tipo del componente en atributo y además del elemento hijo necesario, hay otro elemento hijo denominado método. El elemento método identifica qué método se inicia. Puede tener identificadores de método anidados.

Un método CommandContext importante es isSecure(). Es importante almacenar en memoria caché entradas independientes para las páginas de examinador en SSL y no SSL con el fin de asegurarse de que los enlaces tengan el formato correcto (por ejemplo, enlace de páginas SSL a otra página SSL y viceversa). Si no realiza esta operación, es posible que los enlaces de una SSL vayan a páginas no SSL, haciendo de este modo que emerja un aviso.

Lo siguiente equivale a CommandContext.getter1().getter2():


<component id="CommandContext" type="attribute">
        <required>true</required>
        <method>getter1
                <method>getter2</method>
        </method>
</component>

A continuación se muestra un ejemplo del atributo isSecure:


<cache-id>
        <component id="" type="pathinfo">
                <required>true</required>
                <value>/ProductDisplay</value>
        </component>
        <component id="productId" type="parameter">
                <required>true</required>
        </component>
        <component id="DC_storeId" type="attribute">
                <required>true</required>
        </component>
        <component id="DC_lang" type="attribute">
                <required>true</required>
        </component>
        <component id="CommandContext" type="attribute">
                <method>isSecure</method>
                <required>true</required>
        </component>
</cache-id>