CacheManager JMX object names need revisiting to better follow best practices (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/best-practices.jsp#mozTocId654884) and enable easier identification in multi CacheManager environments.
At the moment, cache managers follow this pattern: *:cache-name="[global]",jmx-resource=CacheManager and in app server environments, we can find these names deployed:
1. As per best practices, the ON should start with the java package name, so preferably the default domain name should be: org.infinispan.
2. Every ON should contain a type=key for each object type. In Infinispan, we differentiate between CacheManager and Cache, so accordingly, we should have: type=CacheManager and type=Cache
3. A name property should be available to differentiate each ON of a particular type. cache-name is not good for this cos it's only meaningful at the cache level and can confuse people searching for CacheManager instances.
I think it's good that we keep a jmxDomain optionally configurable, but we should add name to globalJmxStatistics configuration to define the cache manager name and to avoid confusion with domain redefinition. The end result for a CacheManager object name would be:
At the cache level, currently JMX names would look like:
This should be transformed into something along the lines of: