mx4j/src/core/javax/management MBeanServerFactory.java,1.22,1.23

[email protected]
Newsgroups gmane.comp.java.mx4j.cvs
Message-ID <[email protected]>
Update of /cvsroot/mx4j/mx4j/src/core/javax/management
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28907/core/javax/management

Modified Files:
	MBeanServerFactory.java 
Log Message:
Wrapping the call to the MBeanServer to retrieve the MBeanServer ID into a privileged block

Index: MBeanServerFactory.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/MBeanServerFactory.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** MBeanServerFactory.java	2 Dec 2003 19:31:41 -0000	1.22
--- MBeanServerFactory.java	1 Mar 2004 17:59:42 -0000	1.23
***************
*** 11,14 ****
--- 11,16 ----
  import java.security.AccessController;
  import java.security.PrivilegedAction;
+ import java.security.PrivilegedExceptionAction;
+ import java.security.PrivilegedActionException;
  import java.util.ArrayList;
  
***************
*** 145,159 ****
     }
  
!    private static String getMBeanServerId(MBeanServer server)
     {
        try
        {
!          return (String)server.getAttribute(ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate"), "MBeanServerId");
        }
!       catch (Exception x)
        {
           Logger logger = getLogger();
           if (logger.isEnabledFor(Logger.TRACE)) logger.trace("No permission to get MBeanServerID", x);
        }
        return null;
     }
--- 147,177 ----
     }
  
!    private static String getMBeanServerId(final MBeanServer server)
     {
        try
        {
!          return (String)AccessController.doPrivileged(new PrivilegedExceptionAction()
!          {
!             public Object run() throws Exception
!             {
!                return server.getAttribute(ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate"), "MBeanServerId");
!             }
!          });
        }
!       catch (SecurityException x)
        {
           Logger logger = getLogger();
           if (logger.isEnabledFor(Logger.TRACE)) logger.trace("No permission to get MBeanServerID", x);
        }
+       catch (PrivilegedActionException x)
+       {
+          Logger logger = getLogger();
+          if (logger.isEnabledFor(Logger.TRACE)) logger.trace("Could not get MBeanServerID", x.getException());
+       }
+       catch (Throwable x)
+       {
+          Logger logger = getLogger();
+          if (logger.isEnabledFor(Logger.TRACE)) logger.trace("Could not get MBeanServerID", x);
+       }
        return null;
     }



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.