There are several reasons to do this:
- The implementations are very simple
- An application that uses the public clustering api will can still deploy and function in a non-clustered environment
- We no longer need to use OPTIONAL dependencies in the web and ejb clustering layers
The clustering services would now be installed from a DUP within the infinispan subsystem instead of the jgroups subsystem.
If a cache container defines a transport, then the clustered version of the channel-based service is installed, otherwise the local version will be installed.
If a cache is clustered, then the clustered version of the cache-based services is installed, otherwise a local version will be installed.