[
https://jira.jboss.org/browse/ISPN-754?page=com.atlassian.jira.plugin.sys...
]
Galder Zamarreño commented on ISPN-754:
---------------------------------------
More feedback from Ian:
"Again, I think having good ObjectNames will make writing your discovery code much
easier. It will also make it easier for any other app or user that has to work with the
Infinispan MBeans.
For example, if your cache manager MBeans were named as follows:
org.jboss.infinispan:type=CacheManager,name=MyCacheManager
Then your cache MBeans could be named like so:
org.jboss.infinispan:type=Cache,name=MyCache,manager=MyCacheManager
Note how the 'manager' key prop references the 'name' key prop of the
CacheManager MBean.
This will allow your plugin to easily obtain the list of caches associated with the
MyCacheManager manager by using an ObjectName pattern of:
org.jboss.infinispan:type=Cache,name=%name%,manager=MyCacheManager
You could optionally use the object containment syntax for the 'type' key prop as
described by
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/bes...
to make the cache ObjectNames more human-readable, e.g.:
org.jboss.infinispan:type=CacheManager.Cache,name=MyCache,manager=MyCacheManager"
Allowing manager name to be part of the cache object name might help things and make it
easier to find out which cache manager a cache mbean belongs to.
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: 4.2.0.BETA1, 4.2.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