StopDatabaseCommandpublic final class StopDatabaseCommand extends DatabaseCommand stop-database command
This command class will invoke DerbyControl to stop
the database. |
Fields Summary |
---|
private static final String | DB_HOST | private static final String | DB_PORT |
Methods Summary |
---|
public void | runCommand()Method that Executes the command
if (!validateOptions())
throw new CommandValidationException("Validation is false");
try {
prepareProcessExecutor();
CLIProcessExecutor cpe = new CLIProcessExecutor();
cpe.execute(pingDatabaseCmd(false), true);
if (cpe.exitValue() > 0) {
//if ping is unsuccesfull then database is not up and running
throw new CommandException(getLocalizedString("StopDatabaseStatus", new Object[]{dbHost, dbPort}));
}
else if (cpe.exitValue() <0) {
// Something terribly wrong!
throw new CommandException(getLocalizedString("CommandUnSuccessful",
new Object[] {name} ));
}
else {
//database is running so go ahead and stop the database
cpe.execute(stopDatabaseCmd(), true);
if (cpe.exitValue() > 0) {
throw new CommandException(getLocalizedString("CommandUnSuccessful",
new Object[] {name} ));
}
CLILogger.getInstance().printDetailMessage(getLocalizedString(
"CommandSuccessful",
new Object[] {name}));
}
}
catch (Exception e) {
displayExceptionMessage(e);
}
| public java.lang.String[] | stopDatabaseCmd()defines the command to stop the derby database
Note that when using Darwin (Mac), the property,
"-Dderby.storage.fileSyncTransactionLog=True" is defined.
if (OS.isDarwin()) {
return new String [] {
sJavaHome+File.separator+"bin"+File.separator+"java",
"-Djava.library.path="+sInstallRoot+File.separator+"lib",
"-Dderby.storage.fileSyncTransactionLog=True",
"-cp",
sClasspath + File.pathSeparator + sDatabaseClasspath,
"com.sun.enterprise.cli.commands.DerbyControl",
"shutdown",
dbHost, dbPort, "false"
};
}
return new String [] {
sJavaHome+File.separator+"bin"+File.separator+"java",
"-Djava.library.path="+sInstallRoot+File.separator+"lib",
"-cp",
sClasspath + File.pathSeparator + sDatabaseClasspath,
"com.sun.enterprise.cli.commands.DerbyControl",
"shutdown",
dbHost, dbPort, "false"
};
| public boolean | validateOptions()An method that validates the options
on the specification in the xml properties file
This method verifies for the correctness of number of
operands and if all the required options are supplied by the client.
return super.validateOptions();
|
|