List of usage examples for java.lang.management RuntimeMXBean getClass
@HotSpotIntrinsicCandidate public final native Class<?> getClass();
From source file:brooklyn.entity.software.SshEffectorTasksTest.java
public static Integer getMyPid() { try {/*w ww . jav a 2 s . c o m*/ java.lang.management.RuntimeMXBean runtime = java.lang.management.ManagementFactory.getRuntimeMXBean(); java.lang.reflect.Field jvm = runtime.getClass().getDeclaredField("jvm"); jvm.setAccessible(true); // sun.management.VMManagement mgmt = (sun.management.VMManagement) jvm.get(runtime); Object mgmt = jvm.get(runtime); java.lang.reflect.Method pid_method = mgmt.getClass().getDeclaredMethod("getProcessId"); pid_method.setAccessible(true); return (Integer) pid_method.invoke(mgmt); } catch (Exception e) { throw new PropagatedRuntimeException( "Test depends on (fragile) getMyPid method which does not work here", e); } }
From source file:org.apache.airavata.server.ServerMain.java
private static int getPID() { try {// w ww. j a v a 2 s . c om java.lang.management.RuntimeMXBean runtime = java.lang.management.ManagementFactory.getRuntimeMXBean(); java.lang.reflect.Field jvm = runtime.getClass().getDeclaredField("jvm"); jvm.setAccessible(true); sun.management.VMManagement mgmt = (sun.management.VMManagement) jvm.get(runtime); java.lang.reflect.Method pid_method = mgmt.getClass().getDeclaredMethod("getProcessId"); pid_method.setAccessible(true); int pid = (Integer) pid_method.invoke(mgmt); return pid; } catch (Exception e) { return -1; } }
From source file:org.apache.flink.streaming.tests.StickyAllocationAndLocalRecoveryTestJob.java
/** * This code is copied from Stack Overflow. * * <p><a href="https://stackoverflow.com/questions/35842">https://stackoverflow.com/questions/35842</a>, answer * <a href="https://stackoverflow.com/a/12066696/9193881">https://stackoverflow.com/a/12066696/9193881</a> * * <p>Author: <a href="https://stackoverflow.com/users/446591/brad-mace">Brad Mace</a>) *//* w w w .j a v a2 s . com*/ private static int getJvmPid() throws Exception { java.lang.management.RuntimeMXBean runtime = java.lang.management.ManagementFactory.getRuntimeMXBean(); java.lang.reflect.Field jvm = runtime.getClass().getDeclaredField("jvm"); jvm.setAccessible(true); sun.management.VMManagement mgmt = (sun.management.VMManagement) jvm.get(runtime); java.lang.reflect.Method pidMethod = mgmt.getClass().getDeclaredMethod("getProcessId"); pidMethod.setAccessible(true); return (int) (Integer) pidMethod.invoke(mgmt); }
From source file:org.wso2.carbon.integration.tests.carbontools.CarbonServerBasicOperationTestCase.java
@Test(groups = { "carbon.core" }, description = "Testing carbondump.bat execution", dependsOnMethods = { "testStopCommand" }) public void testCarbonDumpCommandOnWindows() throws Exception { Process processDump = null;//from w w w .ja va2 s.co m String carbonHome = System.getProperty(ServerConstants.CARBON_HOME); try { if (CarbonCommandToolsUtil.getCurrentOperatingSystem() .contains(OperatingSystems.WINDOWS.name().toLowerCase())) { RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); Field jvmField = runtimeMXBean.getClass().getDeclaredField("jvm"); jvmField.setAccessible(true); VMManagement vmManagement = (VMManagement) jvmField.get(runtimeMXBean); Method getProcessIdMethod = vmManagement.getClass().getDeclaredMethod("getProcessId"); getProcessIdMethod.setAccessible(true); Integer processId = (Integer) getProcessIdMethod.invoke(vmManagement); String[] cmdArray = new String[] { "cmd.exe", "/c", "carbondump.bat", "-carbonHome", carbonHome, "-pid", Integer.toString(processId) }; processDump = CarbonCommandToolsUtil.runScript(carbonHome + "/bin", cmdArray); assertTrue(isDumpFileFound(carbonHome), "Couldn't find the dump file"); } else { //Skip test from linux throw new SkipException(" This test method is only for windows"); } } finally { if (processDump != null) { processDump.destroy(); } } }