use of org.apache.geode.internal.process.ProcessController in project geode by apache.
the class ServerLauncher method stopWithPid.
private ServerState stopWithPid() {
try {
final ProcessController controller = new ProcessControllerFactory().createProcessController(this.controllerParameters, getPid());
controller.checkPidSupport();
controller.stop();
return new ServerState(this, Status.STOPPED);
}// }
catch (ConnectionFailedException e) {
// failed to attach to server JVM
return createNoResponseState(e, "Failed to connect to server with process id " + getPid());
} catch (IOException e) {
// failed to open or read file or dir
return createNoResponseState(e, "Failed to communicate with server with process id " + getPid());
}// }
catch (MBeanInvocationFailedException e) {
// MBean either doesn't exist or method or attribute don't exist
return createNoResponseState(e, "Failed to communicate with server with process id " + getPid());
}// }
catch (UnableToControlProcessException e) {
// TODO comment me
return createNoResponseState(e, "Failed to communicate with server with process id " + getPid());
}
}
use of org.apache.geode.internal.process.ProcessController in project geode by apache.
the class LocatorLauncher method statusWithPid.
private LocatorState statusWithPid() {
try {
final ProcessController controller = new ProcessControllerFactory().createProcessController(this.controllerParameters, getPid());
controller.checkPidSupport();
final String statusJson = controller.status();
return LocatorState.fromJson(statusJson);
} catch (ConnectionFailedException e) {
// failed to attach to locator JVM
return createNoResponseState(e, "Failed to connect to locator with process id " + getPid());
} catch (IOException e) {
// failed to open or read file or dir
return createNoResponseState(e, "Failed to communicate with locator with process id " + getPid());
} catch (MBeanInvocationFailedException e) {
// MBean either doesn't exist or method or attribute don't exist
return createNoResponseState(e, "Failed to communicate with locator with process id " + getPid());
} catch (UnableToControlProcessException e) {
return createNoResponseState(e, "Failed to communicate with locator with process id " + getPid());
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
return createNoResponseState(e, "Interrupted while trying to communicate with locator with process id " + getPid());
} catch (TimeoutException e) {
return createNoResponseState(e, "Failed to communicate with locator with process id " + getPid());
}
}
use of org.apache.geode.internal.process.ProcessController in project geode by apache.
the class LocatorLauncher method stopWithPid.
private LocatorState stopWithPid() {
try {
final ProcessController controller = new ProcessControllerFactory().createProcessController(new LocatorControllerParameters(), getPid());
controller.checkPidSupport();
controller.stop();
return new LocatorState(this, Status.STOPPED);
} catch (ConnectionFailedException e) {
// failed to attach to locator JVM
return createNoResponseState(e, "Failed to connect to locator with process id " + getPid());
} catch (IOException e) {
// failed to open or read file or dir
return createNoResponseState(e, "Failed to communicate with locator with process id " + getPid());
} catch (MBeanInvocationFailedException e) {
// MBean either doesn't exist or method or attribute don't exist
return createNoResponseState(e, "Failed to communicate with locator with process id " + getPid());
} catch (UnableToControlProcessException e) {
return createNoResponseState(e, "Failed to communicate with locator with process id " + getPid());
}
}
use of org.apache.geode.internal.process.ProcessController in project geode by apache.
the class LocatorLauncher method stopWithWorkingDirectory.
private LocatorState stopWithWorkingDirectory() {
int parsedPid = 0;
try {
final ProcessController controller = new ProcessControllerFactory().createProcessController(this.controllerParameters, new File(getWorkingDirectory()), ProcessType.LOCATOR.getPidFileName(), READ_PID_FILE_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
parsedPid = controller.getProcessId();
// NOTE in-process request will go infinite loop unless we do the following
if (parsedPid == ProcessUtils.identifyPid()) {
final LocatorLauncher runningLauncher = getInstance();
if (runningLauncher != null) {
return runningLauncher.stopInProcess();
}
}
controller.stop();
return new LocatorState(this, Status.STOPPED);
} catch (ConnectionFailedException e) {
// failed to attach to locator JVM
return createNoResponseState(e, "Failed to connect to locator with process id " + parsedPid);
} catch (FileNotFoundException e) {
// could not find pid file
return createNoResponseState(e, "Failed to find process file " + ProcessType.LOCATOR.getPidFileName() + " in " + getWorkingDirectory());
} catch (IOException e) {
// failed to open or read file or dir
return createNoResponseState(e, "Failed to communicate with locator with process id " + parsedPid);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
return createNoResponseState(e, "Interrupted while trying to communicate with locator with process id " + parsedPid);
} catch (MBeanInvocationFailedException e) {
// MBean either doesn't exist or method or attribute don't exist
return createNoResponseState(e, "Failed to communicate with locator with process id " + parsedPid);
} catch (PidUnavailableException e) {
// couldn't determine pid from within locator JVM
return createNoResponseState(e, "Failed to find usable process id within file " + ProcessType.LOCATOR.getPidFileName() + " in " + getWorkingDirectory());
} catch (TimeoutException e) {
return createNoResponseState(e, "Timed out trying to find usable process id within file " + ProcessType.LOCATOR.getPidFileName() + " in " + getWorkingDirectory());
} catch (UnableToControlProcessException e) {
return createNoResponseState(e, "Failed to communicate with locator with process id " + parsedPid);
}
}
use of org.apache.geode.internal.process.ProcessController in project geode by apache.
the class ServerLauncher method statusWithWorkingDirectory.
private ServerState statusWithWorkingDirectory() {
int parsedPid = 0;
try {
final ProcessController controller = new ProcessControllerFactory().createProcessController(this.controllerParameters, new File(getWorkingDirectory()), ProcessType.SERVER.getPidFileName(), READ_PID_FILE_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
parsedPid = controller.getProcessId();
// note: in-process request will go infinite loop unless we do the following
if (parsedPid == identifyPid()) {
final ServerLauncher runningLauncher = getInstance();
if (runningLauncher != null) {
return runningLauncher.statusInProcess();
}
}
final String statusJson = controller.status();
return ServerState.fromJson(statusJson);
} catch (ConnectionFailedException e) {
// failed to attach to server JVM
return createNoResponseState(e, "Failed to connect to server with process id " + parsedPid);
} catch (FileNotFoundException e) {
// could not find pid file
return createNoResponseState(e, "Failed to find process file " + ProcessType.SERVER.getPidFileName() + " in " + getWorkingDirectory());
} catch (IOException e) {
// failed to open or read file or dir
return createNoResponseState(e, "Failed to communicate with server with process id " + parsedPid);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
return createNoResponseState(e, "Interrupted while trying to communicate with server with process id " + parsedPid);
} catch (MBeanInvocationFailedException e) {
// MBean either doesn't exist or method or attribute don't exist
return createNoResponseState(e, "Failed to communicate with server with process id " + parsedPid);
} catch (PidUnavailableException e) {
// couldn't determine pid from within server JVM
return createNoResponseState(e, "Failed to find usable process id within file " + ProcessType.SERVER.getPidFileName() + " in " + getWorkingDirectory());
} catch (UnableToControlProcessException e) {
return createNoResponseState(e, "Failed to communicate with server with process id " + parsedPid);
} catch (TimeoutException e) {
return createNoResponseState(e, "Failed to communicate with server with process id " + parsedPid);
}
}
Aggregations