Build object names that follow best practices that are clearer and avoid confusion
----------------------------------------------------------------------------------
Key: ISPN-754
URL:
https://jira.jboss.org/browse/ISPN-754
Project: Infinispan
Issue Type: Task
Components: JMX, reporting and management
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Fix For: 5.0.0.BETA1, 5.0.0.Final
CacheManager JMX object names need revisiting to better follow best practices
(
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/bes...)
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:
[infinispan4:cache-name="[global]",jmx-resource=CacheManager,
infinispan3:cache-name="[global]",jmx-resource=CacheManager,
infinispan:cache-name="[global]",jmx-resource=CacheManager,
infinispan2:cache-name="[global]",jmx-resource=CacheManager]
Suggestions:
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:
org.infinispan:type=CacheManager,name="Hibernate2LC"
org.infinispan:type=CacheManager,name="HttpSession"
org.infinispan:type=CacheManager,name="Ejb3SfsbState"
...etc
At the cache level, currently JMX names would look like:
infinispan:cache-name="MyCache(local)",jmx-resource=Cache
This should be transformed into something along the lines of:
org.infinispan:type=Cache,mode=local,name="MyCache"
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira