The MDS database repository has the ability to use Java Object Cache for caching MetadataObjects and their contents. Each node using MDS has its own Java Object Cache instance and will cache MetadataObjects as they are read from the repository by that node, invalidating them from the local cache when local updates to documents comprising that MetadataObject occur.
MDS does not use Distributed Java Object Cache for replicating MetadataObjects. MDS will detect changes made to the repository by other nodes whenever a local change is flushed to that repository and invalidate the relevant local cache entries accordingly. In addition, each cluster member polls the repository every 30 seconds (this is the default interval, which can be configured) to learn if any documents have changed and will invalidate local cache entries in the same way.
However, the MDS database repository also has the capability of sending cluster-wide notifications when a document in that repository is changed by a cluster member. When this feature is enabled, all the cluster members are notified of changes to documents when the change occurs, instead of waiting for a local commit to be performed or for the repository poll to be run. Therefore, in a high availability environment, it is recommended for performance reasons to enable distributed notifications. Configuring the distributed Java Object Cache on every cluster member enables distributed notifications. When a cluster member receives notification of a change to a document, it invalidates its current local version of that document and uses the updated document instead.
For this feature to work, you must configure Java Object Cache on each node, ensure that the JNDI name that each node is using to refer to the repository is the same on every node, and polling must be enabled (it is enabled by default, but it must not be disabled).
For instructions on configuring the distributed Java Object Cache on the nodes in a cluster, see Section F.1, "Configuring the Java Object Cache."