Provide a way for several Nuxeo instances sharing the same Repository configuration to use the repository in a cluster.
This means that all invalidations produced by one Nuxeo instance must be sent to the others, to invalidate their caches.
The database itself will be used as a scratchpad area to list the invalidations produced by an instance, to be consumed by the other instances. The cluster unit will be one RepositoryImpl. All the SessionImpl of one RepositoryImpl will receive the same invalidations.
The availability of invalidations will be checked by a mechanism depending on database support. Most databases will have to poll and make a query for available invalidations. PostgreSQL can use the LISTEN/NOTIFY mechanism to avoid queries when nothing is available.