gnu.java.lang.management

Class RuntimeMXBeanImpl

Implemented Interfaces:
DynamicMBean, RuntimeMXBean

public final class RuntimeMXBeanImpl
extends BeanImpl
implements RuntimeMXBean

Provides access to information about the virtual machine.
Since:
1.5

Constructor Summary

RuntimeMXBeanImpl()
Constructs a new RuntimeMXBeanImpl.

Method Summary

String
getBootClassPath()
Returns the boot classpath used by the virtual machine.
String
getClassPath()
Returns the classpath used by the system classloader.
List<E>
getInputArguments()
Returns a list of the arguments given to the virtual machine, excluding those that apply to the main() method of the class file being executed.
String
getLibraryPath()
Returns the library path.
String
getManagementSpecVersion()
Returns the version of the management specification implemented by the virtual machine.
String
getName()
Returns the name of this virtual machine.
String
getSpecName()
Returns the specification name of the virtual machine.
String
getSpecVendor()
Returns the specification vendor of the virtual machine.
String
getSpecVersion()
Returns the specification version of the virtual machine.
long
getStartTime()
Returns the approximate start time of the virtual machine in milliseconds.
Map<K,V>
getSystemProperties()
Returns a map containing the keys and values of the system properties.
long
getUptime()
Returns the uptime of the virtual machine in milliseconds.
String
getVmName()
Returns the implementation name of the virtual machine.
String
getVmVendor()
Returns the implementation vendor of the virtual machine.
String
getVmVersion()
Returns the implementation version of the virtual machine.
boolean
isBootClassPathSupported()
Returns true if the virtual machine supports the boot classpath mechanism.

Methods inherited from class gnu.java.lang.management.BeanImpl

cacheMBeanInfo, checkControlPermissions, checkMonitorPermissions, getAttribute, getCachedMBeanInfo, getDescription, getDescription, getMBeanInfo, getParameterName, getParameterName

Methods inherited from class javax.management.StandardMBean

cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, invoke, setAttribute, setAttributes, setImplementation

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

RuntimeMXBeanImpl

public RuntimeMXBeanImpl()
            throws NotCompliantMBeanException
Constructs a new RuntimeMXBeanImpl.
Throws:
NotCompliantMBeanException - if this class doesn't implement the interface or a method appears in the interface that doesn't comply with the naming conventions.

Method Details

getBootClassPath

public String getBootClassPath()
Returns the boot classpath used by the virtual machine. This value follows the standard path syntax used by the underlying operating system (e.g. directories separated by ':' on UNIX or ';' on Windows).

Supplying this value is optional. Users should check the return value of isBootClassPathSupported() prior to calling this method.

Specified by:
getBootClassPath in interface RuntimeMXBean
Returns:
the boot classpath of the virtual machine, if supported.
Throws:
UnsupportedOperationException - in cases where this functionality is not supported by the VM.
SecurityException - if a security manager exists and denies ManagementPermission("monitor").

getClassPath

public String getClassPath()
Returns the classpath used by the system classloader. This is equivalent to obtaining the java.class.path property via System.getProperty(String). This value follows the standard path syntax used by the underlying operating system (e.g. directories separated by ':' on UNIX or ';' on Windows).
Specified by:
getClassPath in interface RuntimeMXBean
Returns:
the classpath used by the system class loader.
Throws:
SecurityException - if a security manager exists which prevents access to the classpath property.

getInputArguments

public List<E> getInputArguments()
Returns a list of the arguments given to the virtual machine, excluding those that apply to the main() method of the class file being executed. These may not just be those specified at the command line, but may also include arguments from environment variables, configuration files, etc. All command line arguments may not reach the virtual machine, so these are not included in this list.
Specified by:
getInputArguments in interface RuntimeMXBean
Returns:
a list of arguments passed to the virtual machine.
Throws:
SecurityException - if a security manager exists and denies ManagementPermission("monitor").

getLibraryPath

public String getLibraryPath()
Returns the library path. This is equivalent to obtaining the java.library.path property via System.getProperty(String). This value follows the standard path syntax used by the underlying operating system (e.g. directories separated by ':' on UNIX or ';' on Windows).
Specified by:
getLibraryPath in interface RuntimeMXBean
Returns:
the library path.
Throws:
SecurityException - if a security manager exists which prevents access to the library path property.

getManagementSpecVersion

public String getManagementSpecVersion()
Returns the version of the management specification implemented by the virtual machine.
Specified by:
getManagementSpecVersion in interface RuntimeMXBean
Returns:
the version of the management specification implemented.

getName

public String getName()
Returns the name of this virtual machine. The content of this property is left up to the developer of the virtual machine. It may include a number of system attributes and may differ between instances of the same virtual machine (for example, it might include the process identifier or the host name of the machine on which it is running). The intention is that this name refers to the precise entity that the other data supplied by this bean refers to, rather than the VM in general.
Specified by:
getName in interface RuntimeMXBean
Returns:
the name of this virtual machine.

getSpecName

public String getSpecName()
Returns the specification name of the virtual machine. This is equivalent to obtaining the java.vm.specification.name property via System.getProperty(String).
Specified by:
getSpecName in interface RuntimeMXBean
Returns:
the specification name of the VM.
Throws:
SecurityException - if a security manager exists which prevents access to the VM specification name property.

getSpecVendor

public String getSpecVendor()
Returns the specification vendor of the virtual machine. This is equivalent to obtaining the java.vm.specification.vendor property via System.getProperty(String).
Specified by:
getSpecVendor in interface RuntimeMXBean
Returns:
the specification vendor of the VM.
Throws:
SecurityException - if a security manager exists which prevents access to the VM specification vendor property.

getSpecVersion

public String getSpecVersion()
Returns the specification version of the virtual machine. This is equivalent to obtaining the java.vm.specification.version property via System.getProperty(String).
Specified by:
getSpecVersion in interface RuntimeMXBean
Returns:
the specification version of the VM.
Throws:
SecurityException - if a security manager exists which prevents access to the VM specification version property.

getStartTime

public long getStartTime()
Returns the approximate start time of the virtual machine in milliseconds.
Specified by:
getStartTime in interface RuntimeMXBean
Returns:
the start time of the virtual machine.

getSystemProperties

public Map<K,V> getSystemProperties()
Returns a map containing the keys and values of the system properties. This gives largely the same result as calling System.getProperties(), but the resulting map is filtered so as to only provide keys and values that are Strings.
Specified by:
getSystemProperties in interface RuntimeMXBean
Returns:
the map of system properties.

getUptime

public long getUptime()
Returns the uptime of the virtual machine in milliseconds.
Specified by:
getUptime in interface RuntimeMXBean
Returns:
the uptime of the virtual machine.

getVmName

public String getVmName()
Returns the implementation name of the virtual machine. This is equivalent to obtaining the java.vm.name property via System.getProperty(String).
Specified by:
getVmName in interface RuntimeMXBean
Returns:
the implementation name of the VM.
Throws:
SecurityException - if a security manager exists which prevents access to the VM name property.

getVmVendor

public String getVmVendor()
Returns the implementation vendor of the virtual machine. This is equivalent to obtaining the java.vm.vendor property via System.getProperty(String).
Specified by:
getVmVendor in interface RuntimeMXBean
Returns:
the implementation vendor of the VM.
Throws:
SecurityException - if a security manager exists which prevents access to the VM vendor property.

getVmVersion

public String getVmVersion()
Returns the implementation version of the virtual machine. This is equivalent to obtaining the java.vm.version property via System.getProperty(String).
Specified by:
getVmVersion in interface RuntimeMXBean
Returns:
the implementation version of the VM.
Throws:
SecurityException - if a security manager exists which prevents access to the VM version property.

isBootClassPathSupported

public boolean isBootClassPathSupported()
Returns true if the virtual machine supports the boot classpath mechanism.
Specified by:
isBootClassPathSupported in interface RuntimeMXBean
Returns:
true if the boot classpath property is supported by the virtual machine.

RuntimeMXBeanImpl.java - Implementation of an runtime bean Copyright (C) 2006 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.