For items with cache-mode=distributedJMS”, the GSAInvalidatorService is used to send cache invalidation events via JMS. To do this, the service sends a JMS event of class atg.adapter.gsa.invalidator.MultiTypeInvalidationMessage, which invalidates a set of items or item types for a given repository. When a transaction is committed, this event is used to invalidate the caches of all items modified in the transaction that use the distributedJMS cache mode.

Since transactions can be arbitrarily large, it is necessary to place a restriction on the maximum size of a MultiTypeInvalidationMessage event. The GSAInvalidatorService component includes a property called maxItemsPerEvent, which specifies the maximum number of repository items that can be invalidated individually by a single MultiTypeInvalidationMessage. (The default value for this property is 200.) If the number of items to be invalidated after a transaction exceeds this threshold, the message will invalidate the caches for all of the items of one or more of the item types that have been updated, rather than invalidating caches for items individually. This mechanism keeps the message from growing too large, because it needs only contain information about the item types to be invalidated, rather than a list of the individual items.

Note that there is no command-line interface for sending MultiTypeInvalidationMessage events. These events are used only for distributedJMS cache mode. For more information about this cache mode, see Distributed Caching via JMS.

 
loading table of contents...