validateScriptFile(shutdownScriptFile,
ApplicationServerPluginConfigurationProperties.SHUTDOWN_SCRIPT_CONFIG_PROP);
Configuration pluginConfig = serverComponent.getResourceContext().getPluginConfiguration();
String prefix = pluginConfig
.getSimple(ApplicationServerPluginConfigurationProperties.SCRIPT_PREFIX_CONFIG_PROP).getStringValue();
ProcessExecution processExecution = ProcessExecutionUtility.createProcessExecution(prefix, shutdownScriptFile);
initProcessExecution(processExecution, shutdownScriptFile);
setJavaHomeEnvironmentVariable(processExecution);
String server = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.NAMING_URL)
.getStringValue();
if (server != null) {
processExecution.getArguments().add("--server=" + server);
}
String user = pluginConfig.getSimple(ApplicationServerComponent.PRINCIPAL_CONFIG_PROP).getStringValue();
if (user != null) {
processExecution.getArguments().add("--user=" + user);
}
String password = pluginConfig.getSimple(ApplicationServerComponent.CREDENTIALS_CONFIG_PROP).getStringValue();
if (password != null) {
processExecution.getArguments().add("--password=" + password);
}
processExecution.getArguments().add("--shutdown");
/*
* This tells shutdown.bat not to call the Windows PAUSE command, which
* would cause the script to hang indefinitely waiting for input.
* noinspection ConstantConditions
*/
processExecution.getEnvironmentVariables().put("NOPAUSE", "1");
if (log.isDebugEnabled()) {
log.debug("About to execute the following process: [" + processExecution + "]");
}
SystemInfo systemInfo = serverComponent.getResourceContext().getSystemInformation();