@Override // Hmm, maybe have startServer return some sort of Future, so the caller can decide to wait public void awaitServersState(final Collection<String> serverNames, final boolean started) { for (final String serverName : serverNames) { final ManagedServer server = servers.get(serverName); if(server == null) { continue; } server.awaitState(started ? ManagedServer.InternalState.SERVER_STARTED : ManagedServer.InternalState.STOPPED); } }
@Override // Hmm, maybe have startServer return some sort of Future, so the caller can decide to wait public void awaitServersState(final Collection<String> serverNames, final boolean started) { for (final String serverName : serverNames) { final ManagedServer server = servers.get(serverName); if(server == null) { continue; } server.awaitState(started ? ManagedServer.InternalState.SERVER_STARTED : ManagedServer.InternalState.STOPPED); } }
@Override public ServerStatus stopServer(final String serverName, final int gracefulTimeout, final boolean blocking) { final ManagedServer server = servers.get(serverName); if(server == null) { return ServerStatus.STOPPED; } server.stop(); if(blocking) { server.awaitState(ManagedServer.InternalState.STOPPED); } return server.getState(); }
@Override public ServerStatus startServer(final String serverName, final ModelNode domainModel, final boolean blocking) { if(shutdown || connectionFinished) { throw HostControllerMessages.MESSAGES.hostAlreadyShutdown(); } ManagedServer server = servers.get(serverName); if(server == null) { // Create a new authKey final byte[] authKey = new byte[16]; new Random(new SecureRandom().nextLong()).nextBytes(authKey); // Create the managed server final ManagedServer newServer = createManagedServer(serverName, domainModel, authKey); server = servers.putIfAbsent(serverName, newServer); if(server == null) { server = newServer; } } server.start(); synchronized (shutdownCondition) { shutdownCondition.notifyAll(); } if(blocking) { // Block until the server started message server.awaitState(ManagedServer.InternalState.SERVER_STARTED); } else { // Wait until the server opens the mgmt connection server.awaitState(ManagedServer.InternalState.SERVER_STARTING); } return server.getState(); }
@Override public ServerStatus stopServer(final String serverName, final int gracefulTimeout, final boolean blocking) { final ManagedServer server = servers.get(serverName); if(server == null) { return ServerStatus.STOPPED; } Integer currentOperationID = CurrentOperationIdHolder.getCurrentOperationID(); server.stop(currentOperationID == null ? null : gracefulTimeout); if(blocking) { server.awaitState(ManagedServer.InternalState.STOPPED); } return server.getState(); }
@Override public ServerStatus reloadServer(final String serverName, final boolean blocking, boolean suspend) { if (shutdown || connectionFinished) { throw HostControllerLogger.ROOT_LOGGER.hostAlreadyShutdown(); } final ManagedServer server = servers.get(serverName); if (server == null) { return ServerStatus.STOPPED; } if (server.reload(CurrentOperationIdHolder.getCurrentOperationID(), suspend)) { // Reload with current permit if (blocking) { server.awaitState(ManagedServer.InternalState.SERVER_STARTED); } else { server.awaitState(ManagedServer.InternalState.SERVER_STARTING); } } return determineServerStatus(serverName); }
@Override public ServerStatus stopServer(final String serverName, final int gracefulTimeout, final boolean blocking) { final ManagedServer server = servers.get(serverName); if(server == null) { return ServerStatus.STOPPED; } Integer currentOperationID = CurrentOperationIdHolder.getCurrentOperationID(); server.stop(currentOperationID == null ? null : gracefulTimeout); if(blocking) { server.awaitState(ManagedServer.InternalState.STOPPED); } return server.getState(); }
@Override public ServerStatus reloadServer(final String serverName, final boolean blocking, boolean suspend) { if (shutdown || connectionFinished) { throw HostControllerLogger.ROOT_LOGGER.hostAlreadyShutdown(); } final ManagedServer server = servers.get(serverName); if (server == null) { return ServerStatus.STOPPED; } if (server.reload(CurrentOperationIdHolder.getCurrentOperationID(), suspend)) { // Reload with current permit if (blocking) { server.awaitState(ManagedServer.InternalState.SERVER_STARTED); } else { server.awaitState(ManagedServer.InternalState.SERVER_STARTING); } } return determineServerStatus(serverName); }
server.awaitState(ManagedServer.InternalState.SERVER_STARTED); } else { server.awaitState(ManagedServer.InternalState.SERVER_STARTING);
server.awaitState(ManagedServer.InternalState.SERVER_STARTED); } else { server.awaitState(ManagedServer.InternalState.SERVER_STARTING);