Enabling interim fix JR51650
Interim fix JR51650 enhances the marketing framework to issue invalidations for e-Marketing Spot names when the e-Marketing Spot, a related activity, or a related promotion changes.
If cachespec entries were set up for e-Marketing Spot REST requests, then update the cachespec.xml file to ensure that invalidations occur at the proper times.
Before you begin
For information about
how to install an interim fix, see
Procedure
-
In the REST WAR cachespec.xml file, update the cache id entry associated
with
/wcs/resources/store/{storeId}/espot/{espotIdentifier}
to include the<metadatagenerator>
and add the emsName <dependency-id> to the<name>org.apache.wink.server.internal.servlet.RestServlet.class</name>
cache entry.For example<!--/wcs/resources/store/{storeId}/espot/{espotIdentifier} --> <cache-id> <property name="ignore-get-post">true</property> <component id="urlPath" type="pathinfo"> <required>true</required> </component> <component id="method" type="requestType"> <required>true</required> <value>GET</value> </component> <component id="storeId" type="attribute"> <required>true</required> </component> <component id="catalogId" type="attribute"> <required>true</required> </component> <component id="espotId" type="attribute"> <required>true</required> </component> <component id="urlType" type="attribute"> <required>true</required> <value>espot</value> </component> <component id="previewToken" type="attribute"> <required>false</required> </component> <component id="responseFormat" type="parameter"> <required>false</required> </component> <component id="langId" type="parameter"> <required>false</required> </component> <component id="currency" type="parameter"> <required>false</required> </component> <component id="locale" type="parameter"> <required>false</required> </component> <metadatagenerator>com.ibm.commerce.marketing.cache.RESTEMarketingSpotMetaDataGenerator</metadatagenerator> </cache-id> <dependency-id>emsName <component id="espotId" type="attribute"> <required>true</required> </component> </dependency-id>
-
If REST caching in enabled in the authoring environment, then in the Stores WAR
cachespec.xml file, add or modify the following invalidation rules. First check
if there is already a cache entry for the command names below. If the command cache entry does not
already exist, then add the entire <
cache-entry
> invalidation rule. If the command cache entry already exists, then add the <invalidation
> invalidation rules to the existing cache entry.<cache-entry> <class>command</class> <name>com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingSpotCmdImpl</name> <name>com.ibm.commerce.marketing.facade.server.commands.ChangeMarketingSpotCmdImpl</name> <property name="delay-invalidations">true</property> <invalidation>emsName <component id="getUniqueName" type="method" multipleIDs="true"> <required>true</required> </component> </invalidation> <invalidation>emsId <component id="getUniqueID" type="method" multipleIDs="true"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>command</class> <name>com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingContentCmdImpl</name> <name>com.ibm.commerce.marketing.facade.server.commands.ChangeMarketingContentCmdImpl</name> <property name="delay-invalidations">true</property> <invalidation>emsName <component id="getEMarketingSpotNamesForCacheInvalidations" type="method" multipleIDs="true"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>command</class> <sharing-policy>not-shared</sharing-policy> <name>com.ibm.commerce.attachment.commands.UpdateAttachmentTargetCmdImpl</name> <name>com.ibm.commerce.attachment.commands.AddAttachmentAssetCmdImpl</name> <name>com.ibm.commerce.attachment.commands.DeleteAttachmentTargetCmdImpl</name> <name>com.ibm.commerce.attachment.commands.AttachmentAddCmdImpl</name> <name>com.ibm.commerce.attachment.commands.AttachmentUpdateCmdImpl</name> <name>com.ibm.commerce.attachment.commands.UpdateAttachmentAssetCmdImpl</name> <name>com.ibm.commerce.attachment.commands.DeleteAttachmentAssetCmdImpl</name> <invalidation>emsName <component id="getEMarketingSpotNamesForCacheInvalidations" type="method" multipleIDs="true"> <required>true</required> </component> </invalidation> </cache-entry>