ARTEMIS-3854: use Process.pid() rather than reflection

This commit is contained in:
Robbie Gemmell 2022-06-08 15:06:04 +01:00
parent 0fab0dae91
commit 0c5e83b76a
4 changed files with 7 additions and 13 deletions

View File

@ -39,8 +39,8 @@ public class ExecuteUtil {
inputStreamReader.join(); inputStreamReader.join();
} }
public int pid() throws Exception { public long pid() throws Exception {
return getPID(process); return process.pid();
} }
public int waitFor(long timeout, TimeUnit unit) throws InterruptedException { public int waitFor(long timeout, TimeUnit unit) throws InterruptedException {
@ -66,12 +66,6 @@ public class ExecuteUtil {
} }
public static int getPID(Process process) throws Exception {
Field pidField = process.getClass().getDeclaredField("pid");
pidField.setAccessible(true);
return (int)pidField.get(process);
}
private static final Logger logger = Logger.getLogger(ExecuteUtil.class); private static final Logger logger = Logger.getLogger(ExecuteUtil.class);
public static int runCommand(boolean logOutput, String... command) throws Exception { public static int runCommand(boolean logOutput, String... command) throws Exception {

View File

@ -134,8 +134,8 @@ public class AMQPBridgeDisconnectTest extends AmqpClientTestSupport {
return this.server.getRemotingService().getConnections().size(); return this.server.getRemotingService().getConnections().size();
}); });
if (pause) { if (pause) {
int pid = ExecuteUtil.getPID(process); long pid = process.pid();
ExecuteUtil.runCommand(true, new String[]{"kill", "-STOP", Integer.toString(pid)}); ExecuteUtil.runCommand(true, new String[]{"kill", "-STOP", Long.toString(pid)});
} else { } else {
process.destroy(); process.destroy();
} }

View File

@ -85,7 +85,7 @@ public class QpidDispatchPeerTest extends AmqpClientTestSupport {
} }
public void pauseThenKill(int timeToWait) throws Exception { public void pauseThenKill(int timeToWait) throws Exception {
int pid = qpidProcess.pid(); long pid = qpidProcess.pid();
int result = ExecuteUtil.runCommand(true, "kill", "-STOP", Long.toString(pid)); int result = ExecuteUtil.runCommand(true, "kill", "-STOP", Long.toString(pid));
Assert.assertEquals(0, result); Assert.assertEquals(0, result);
logger.info("\n*******************************************************************************************************************************\n" + logger.info("\n*******************************************************************************************************************************\n" +

View File

@ -227,7 +227,7 @@ public class SoakPagingTest extends SmokeTestBase {
System.out.println("*******************************************************************************************************************************"); System.out.println("*******************************************************************************************************************************");
System.out.println("SERVER 0 jstack"); System.out.println("SERVER 0 jstack");
System.out.println("*******************************************************************************************************************************"); System.out.println("*******************************************************************************************************************************");
ExecuteUtil.runCommand(true, 1, TimeUnit.MINUTES, "jstack", "" + ExecuteUtil.getPID(server0)); ExecuteUtil.runCommand(true, 1, TimeUnit.MINUTES, "jstack", "" + server0.pid());
} catch (Throwable e) { } catch (Throwable e) {
log.warn("Error executing jstack on Server 0", e); log.warn("Error executing jstack on Server 0", e);
} }
@ -235,7 +235,7 @@ public class SoakPagingTest extends SmokeTestBase {
System.out.println("*******************************************************************************************************************************"); System.out.println("*******************************************************************************************************************************");
System.out.println("SERVER 1 jstack"); System.out.println("SERVER 1 jstack");
System.out.println("*******************************************************************************************************************************"); System.out.println("*******************************************************************************************************************************");
ExecuteUtil.runCommand(true, 1, TimeUnit.MINUTES, "jstack", "" + ExecuteUtil.getPID(server1)); ExecuteUtil.runCommand(true, 1, TimeUnit.MINUTES, "jstack", "" + server1.pid());
} catch (Throwable e) { } catch (Throwable e) {
log.warn("Error executing jstack on Server 1", e); log.warn("Error executing jstack on Server 1", e);
} }