URL jarLocation; if (isNativeSystemInfoAvailable()) { rootDir = System.getProperty("rhq.native-libraries-root-directory"); if (rootDir == null) {
URL jarLocation; if (isNativeSystemInfoAvailable()) { rootDir = System.getProperty("rhq.native-libraries-root-directory"); if (rootDir == null) {
/** * Enables or disables the native layer. * @param tokens tokenized command line tokens[0] is the command itself */ private void doNative(String[] tokens) { String what = tokens[1]; if (what.startsWith("e")) { SystemInfoFactory.enableNativeSystemInfo(); System.out.println("Native layer enabled."); } else if (what.startsWith("d")) { SystemInfoFactory.disableNativeSystemInfo(); System.out.println("Native layer disabled."); } else if (what.startsWith("s")) { System.out.println("Native layer is:"); System.out.println(SystemInfoFactory.isNativeSystemInfoDisabled() ? "Disabled" : "Enabled"); if (!SystemInfoFactory.isNativeSystemInfoDisabled()) { System.out.println(SystemInfoFactory.isNativeSystemInfoAvailable() ? "Available" : "Not Available"); System.out.println(SystemInfoFactory.isNativeSystemInfoInitialized() ? "Initialized" : "Not initialized"); } } else { System.err.println("Unknown option. Only 'e', 'd' and 's' are applicable (enable/disable/status)"); return; } }
public static boolean isSigarAvailable() { if (!SystemInfoFactory.isNativeSystemInfoDisabled() && SystemInfoFactory.isNativeSystemInfoAvailable()) { // its available, but it may not yet have been initialized. If it has not been initialized, // make a call that forces it to be initialized and loaded. 99% of the time, the native layer // will already be initialized and this check will be very fast. if (!SystemInfoFactory.isNativeSystemInfoInitialized()) { SystemInfoFactory.getNativeSystemInfoVersion(); } return true; } else { return false; } }
public static boolean isSigarAvailable() { if (!SystemInfoFactory.isNativeSystemInfoDisabled() && SystemInfoFactory.isNativeSystemInfoAvailable()) { // its available, but it may not yet have been initialized. If it has not been initialized, // make a call that forces it to be initialized and loaded. 99% of the time, the native layer // will already be initialized and this check will be very fast. if (!SystemInfoFactory.isNativeSystemInfoInitialized()) { SystemInfoFactory.getNativeSystemInfoVersion(); } return true; } else { return false; } }
/** * Returns the appropriate {@link SystemInfo} implementation based on the platform/operating system the JVM is * running on. * * @return a {@link NativeSystemInfo} implementation or a {@link JavaSystemInfo} if the native libraries are * {@link #isNativeSystemInfoAvailable() not available for the platform} or have been * {@link #disableNativeSystemInfo() disabled}. */ public static synchronized SystemInfo createSystemInfo() { if (cachedSystemInfo == null) { initialize(); // make sure we've loaded the native libraries, if appropriate SystemInfo nativePlatform = null; if (!isNativeSystemInfoDisabled() && isNativeSystemInfoAvailable()) { // we could use SIGAR here, but this should be enough if (System.getProperty("os.name").toLowerCase().indexOf("windows") > -1) { nativePlatform = new WindowsNativeSystemInfo(); } else { // we either don't know what OS it is or we don't have a specific native subclass for it; // but we know we have a native library for it! so just create the generic NativePlatform to represent it. nativePlatform = new NativeSystemInfo(); } } if (nativePlatform == null) { nativePlatform = javaSystemInfo; } cachedSystemInfo = nativePlatform; } return cachedSystemInfo; }
/** * Returns the appropriate {@link SystemInfo} implementation based on the platform/operating system the JVM is * running on. * * @return a {@link NativeSystemInfo} implementation or a {@link JavaSystemInfo} if the native libraries are * {@link #isNativeSystemInfoAvailable() not available for the platform} or have been * {@link #disableNativeSystemInfo() disabled}. */ public static synchronized SystemInfo createSystemInfo() { if (cachedSystemInfo == null) { initialize(); // make sure we've loaded the native libraries, if appropriate SystemInfo nativePlatform = null; if (!isNativeSystemInfoDisabled() && isNativeSystemInfoAvailable()) { // we could use SIGAR here, but this should be enough if (System.getProperty("os.name").toLowerCase().indexOf("windows") > -1) { nativePlatform = new WindowsNativeSystemInfo(); } else { // we either don't know what OS it is or we don't have a specific native subclass for it; // but we know we have a native library for it! so just create the generic NativePlatform to represent it. nativePlatform = new NativeSystemInfo(); } } if (nativePlatform == null) { nativePlatform = javaSystemInfo; } cachedSystemInfo = nativePlatform; } return cachedSystemInfo; }
/** * If the native system is both {@link #isNativeSystemInfoAvailable() available} and * {@link #isNativeSystemInfoDisabled() enabled}, this will return the native system's version string. Otherwise, a * generic Java version message is returned. * * @return native system version string */ public static synchronized String getNativeSystemInfoVersion() { String version = null; Throwable error = null; initialize(); // make sure we've loaded the native libraries, if appropriate if (!isNativeSystemInfoDisabled() && isNativeSystemInfoAvailable()) { try { version = "Version=" + invokeApi(NativeApi.VERSION_STRING) + " (" + invokeApi(NativeApi.BUILD_DATE) + "); Native version=" + invokeApi(NativeApi.NATIVE_VERSION_STRING) + " (" + invokeApi(NativeApi.NATIVE_BUILD_DATE) + ")"; } catch (Throwable t) { error = t; } } if (version == null) { version = "Native system not supported - Java version is " + System.getProperty("java.version"); if (error != null) { version += " : " + error; } } return version; }
/** * If the native system is both {@link #isNativeSystemInfoAvailable() available} and * {@link #isNativeSystemInfoDisabled() enabled}, this will return the native system's version string. Otherwise, a * generic Java version message is returned. * * @return native system version string */ public static synchronized String getNativeSystemInfoVersion() { String version = null; Throwable error = null; initialize(); // make sure we've loaded the native libraries, if appropriate if (!isNativeSystemInfoDisabled() && isNativeSystemInfoAvailable()) { try { version = "Version=" + invokeApi(NativeApi.VERSION_STRING) + " (" + invokeApi(NativeApi.BUILD_DATE) + "); Native version=" + invokeApi(NativeApi.NATIVE_VERSION_STRING) + " (" + invokeApi(NativeApi.NATIVE_BUILD_DATE) + ")"; } catch (Throwable t) { error = t; } } if (version == null) { version = "Native system not supported - Java version is " + System.getProperty("java.version"); if (error != null) { version += " : " + error; } } return version; }