[infinispan-issues] [JBoss JIRA] Commented: (ISPN-754) Build object names that follow best practices that are clearer and avoid confusion
Galder Zamarreño (JIRA)
jira-events at lists.jboss.org
Tue Nov 2 05:25:01 EDT 2010
[ https://jira.jboss.org/browse/ISPN-754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560755#action_12560755 ]
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/best-practices.jsp#mozTocId654884 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/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:
> [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
More information about the infinispan-issues
mailing list