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 |
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>