[jboss-jira] [JBoss JIRA] Commented: (JBCACHE-1392) Use the correct MBeanServer if multiple MBeanServers are present.
Manik Surtani (JIRA)
jira-events at lists.jboss.org
Tue Jul 22 18:02:16 EDT 2008
[ https://jira.jboss.org/jira/browse/JBCACHE-1392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12422167#action_12422167 ]
Manik Surtani commented on JBCACHE-1392:
----------------------------------------
Please use the user forums to discuss this first before creating JIRAs. Have you got a thread on the forum about this?
> Use the correct MBeanServer if multiple MBeanServers are present.
> -----------------------------------------------------------------
>
> Key: JBCACHE-1392
> URL: https://jira.jboss.org/jira/browse/JBCACHE-1392
> Project: JBoss Cache
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: JMX
> Reporter: Robert Buck
> Assignee: Manik Surtani
>
> The prior bug did not fix the issue of running the cache under jboss when the following options are present:
> set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote
> The code is presently as follows (which is incorrect, by the way):
> {code}
> 157 List servers=MBeanServerFactory.findMBeanServer(null);
> 158 if(servers == null || servers.size() == 0)
> 159 throw new Exception("TreeCacheView.init(): no MBeanServers found");
> {code}
> TreeCacheView fails to deploy because it is using the wrong MBeanServer. Rather than doing the above, you should either do something like:
> {code}
> import org.jboss.mx.util.MBeanServerLocator;
> ...
> // find the local MBeanServer
> MBeanServer server = MBeanServerLocator.locateJBoss();
> {code}
> , or you should do something like this:
> {code}
> public static MBeanServer getDefaultMBeanServer() {
> return findMBeanServer("jboss");
> }
> private static MBeanServer findMBeanServer(String agentId) {
> List servers = MBeanServerFactory.findMBeanServer(null);
> if (servers != null && servers.size() > 0) {
> for (Object object : servers) {
> MBeanServer server = (MBeanServer) object;
> if (server.getDefaultDomain().equals(agentId)) {
> return server;
> }
> }
> }
> return null;
> }
> {code}
> The reason is because with Java 5, when the "-Dcom.sun.management.jmxremote" switch is turned on, the default platform MBeanServer is the zeroth instance rather than "jboss".
> See:
> http://fisheye.jboss.com/browse/JBossCache/core/support-branches/1.4.1.SP8_JBCACHE-1247/src/org/jboss/cache/TreeCacheView.java?r=4384
> To test, deploy the tree cache view, and start JBoss with the JAVA_OPTS mentioned above.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list