Under distributed JMS caching, participating Oracle ATG Web Commerce instances act as message sources and sinks for invalidation events. As installed, Oracle ATG Web Commerce provides two components that are already configured as Patch Bay message sources and sinks:
/atg/dynamo/service/GSAInvalidatorService
is configured as a Patch Bay message source. When a repository item that uses distributed JMS caching is updated, the GSAInvalidatorService component generates a JMS cache invalidation event of classatg.adapter.gsa.invalidator.MultiTypeInvalidationMessage
./atg/dynamo/service/GSAInvalidatorReceiver
is configured as a Patch Bay message sink and is a durable subscriber to invalidation topics. When one Oracle ATG Web Commerce instance generates a JMS cache invalidation event, the GSAInvalidatorReceiver on other instances receives the message and invalidates the appropriate item caches.
As installed, Oracle ATG Web Commerce defines the SQL JMS topics that are used by the GSAInvalidatorService and GSAInvalidatorReceiver components.
To set up distributed JMS caching:
On each Oracle ATG Web Commerce instance that uses distributed JMS caching, enable the GSAInvalidatorService by configuring the
/atg/dynamo/Configuration
component as follows:gsaInvalidatorEnabled=true
Optionally, configure each SQL Repository’s
invalidatorService
property to a GSAInvalidatorService component. If this property is not set, the repository uses the default GSAInvalidatorService component as a Patch Bay message source:/atg/dynamo/service/GSAInvalidatorService
.Optionally, configure each GSAInvalidatorService component’s
maxItemsPerEvent
property. This property specifies the maximum number of cached items that a singleMultiTypeInvalidationMessage
can invalidate—by default, 200. If an event exceeds this limit, the entire cache of the invalidated item is flushed. A value of 0 ensures that every event always flushes the entire cache of the invalidated item.This mechanism can significantly reduce message payload, as a message that affects large numbers of items only needs to contain information about the item types to invalidate, rather than individual items.
Configure PatchBay in each participating Oracle ATG Web Commerce instance to access the same SQL JMS database tables.