}
timer.schedule(timeoutTask, verifyTimeout * 1000);
}
// Verify server started
ServerProxy server = new ServerProxy(hostname, port, username, password);
boolean started = false;
while (!started) {
if (verifyTimedOut.isSet()) {
throw new MojoExecutionException("Unable to verify if the server was started in the given time (" + verifyTimeout + " seconds)");
}
if (errorHolder.isSet()) {
throw new MojoExecutionException("Failed to start Geronimo server", (Throwable)errorHolder.get());
}
started = server.isFullyStarted();
if (!started) {
Throwable error = server.getLastError();
if ((error != null) && (log.isDebugEnabled())) {
log.debug("Server query failed; ignoring", error);
}
Thread.sleep(1000);
}
}
server.closeConnection();
// Stop the timer, server should be up now
timeoutTask.cancel();
log.info("Geronimo server started in " + watch);