@Override public void handleConnectionFinished(final ProcessControllerClient client) { if(serverInventory == null) { return; } serverInventory.connectionFinished(); }
public Map<String, ProcessInfo> determineRunningProcesses() { return serverInventory.determineRunningProcesses(); }
private boolean isRunningServer(String serverName) { ServerStatus status = serverInventory.determineServerStatus(serverName); switch (status) { case STARTED: case STARTING: case STOPPING: return true; default: return false; } }
private void restartedHcStartOrReconnectServers(final ModelNode servers, final ModelNode domainModel, final OperationContext context){ Map<String, ProcessInfo> processInfos = serverInventory.determineRunningProcesses(); for(final String serverName : servers.keys()) { ProcessInfo info = processInfos.get(serverInventory.getServerProcessName(serverName)); boolean auto = servers.get(serverName, AUTO_START).asBoolean(true); if (info == null && auto) { try { serverInventory.startServer(serverName, domainModel, START_BLOCKING, false); } catch (Exception e) { ROOT_LOGGER.failedToStartServer(e, serverName); } } else if (info != null){ // Reconnect the server using the current authKey serverInventory.reconnectServer(serverName, domainModel, info.getAuthKey(), info.isRunning(), info.isStopping()); } } } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { // Even though we don't read from the service registry, we are modifying a service context.getServiceRegistry(true); Map<String, ProcessInfo> processes = serverInventory.determineRunningProcesses(true); final Set<String> serversInGroup = getServersForGroup(model, group); final Set<String> waitForServers = new HashSet<String>(); for (String serverName : processes.keySet()) { final String serverModelName = serverInventory.getProcessServerName(serverName); if (group == null || serversInGroup.contains(serverModelName)) { serverInventory.restartServer(serverModelName, timeout > 0 ? timeout * 1000 : timeout, model, false, suspend); waitForServers.add(serverModelName); } } if (blocking) { serverInventory.awaitServersState(waitForServers, true); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final String hostName = model.get(HOST).keys().iterator().next(); final ModelNode serverConfig = model.get(HOST, hostName).get(SERVER_CONFIG); final Set<String> serversInGroup = getServersForGroup(model, group); final Set<String> waitForServers = new HashSet<String>(); if (serverConfig.isDefined()) { // Even though we don't read from the service registry, we are modifying a service context.getServiceRegistry(true); for (Property config : serverConfig.asPropertyList()) { final ServerStatus status = serverInventory.determineServerStatus(config.getName()); if (status != ServerStatus.STARTING && status != ServerStatus.STARTED) { if (group == null || serversInGroup.contains(config.getName())) { if (status != ServerStatus.STOPPED) { serverInventory.stopServer(config.getName(), 0); } serverInventory.startServer(config.getName(), model, false, suspend); waitForServers.add(config.getName()); } } } if (blocking) { serverInventory.awaitServersState(waitForServers, true); } } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { // Even though we don't read from the service registry, we are modifying a service context.getServiceRegistry(true); Map<String, ProcessInfo> processes = serverInventory.determineRunningProcesses(true); final Set<String> serversInGroup = getServersForGroup(model, group); final Set<String> waitForServers = new HashSet<String>(); for (String serverName : processes.keySet()) { final String serverModelName = serverInventory.getProcessServerName(serverName); if (group == null || serversInGroup.contains(serverModelName)) { serverInventory.reloadServer(serverModelName, false, suspend); waitForServers.add(serverModelName); } } if (blocking) { serverInventory.awaitServersState(waitForServers, true); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { Map<String, ProcessInfo> processes = serverInventory.determineRunningProcesses(true); final Set<String> serversInGroup = getServersForGroup(model, group); for (String serverName : processes.keySet()) { final String serverModelName = serverInventory.getProcessServerName(serverName); if (group == null || serversInGroup.contains(serverModelName)) { serverInventory.restartServer(serverModelName, TIMEOUT, model); } } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final String hostName = model.get(HOST).keys().iterator().next(); final ModelNode serverConfig = model.get(HOST, hostName).get(SERVER_CONFIG); final Set<String> serversInGroup = getServersForGroup(model, group); if(serverConfig.isDefined()) { for (Property config : serverConfig.asPropertyList()) { final ServerStatus status = serverInventory.determineServerStatus(config.getName()); if (status != ServerStatus.STARTING && status != ServerStatus.STARTED) { if (group == null || serversInGroup.contains(config.getName())) { if (status != ServerStatus.STOPPED) { serverInventory.stopServer(config.getName(), TIMEOUT); } serverInventory.startServer(config.getName(), model); } } } } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { // Even though we don't read from the service registry, we are modifying a service context.getServiceRegistry(true); Map<String, ProcessInfo> processes = serverInventory.determineRunningProcesses(true); final Set<String> serversInGroup = getServersForGroup(model, group); final Set<String> waitForServers = new HashSet<>(); for (String serverName : processes.keySet()) { final String serverModelName = serverInventory.getProcessServerName(serverName); if (group == null || serversInGroup.contains(serverModelName)) { waitForServers.add(serverModelName); } } final List<ModelNode> errorResponses = serverInventory.suspendServers(waitForServers, suspendTimeout, blockingTimeout); if ( !errorResponses.isEmpty() ){ context.getFailureDescription().set(errorResponses); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { // Even though we don't read from the service registry, we are modifying a service context.getServiceRegistry(true); Map<String, ProcessInfo> processes = serverInventory.determineRunningProcesses(true); final Set<String> serversInGroup = getServersForGroup(model, group); final Set<String> waitForServers = new HashSet<String>(); for (String serverName : processes.keySet()) { final String serverModelName = serverInventory.getProcessServerName(serverName); if (group == null || serversInGroup.contains(serverModelName)) { waitForServers.add(serverModelName); } } final List<ModelNode> errorResponses = serverInventory.resumeServers(waitForServers, blockingTimeout); if ( !errorResponses.isEmpty() ){ context.getFailureDescription().set(errorResponses); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final ServerStatus origStatus = serverInventory.determineServerStatus(serverName); if (origStatus != ServerStatus.STARTED) { throw new OperationFailedException(new ModelNode(MESSAGES.cannotRestartServer(serverName, origStatus))); } final ServerStatus status = serverInventory.restartServer(serverName, -1, model, blocking); context.getResult().set(status.toString()); context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, OperationContext.Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final ServerStatus origStatus = serverInventory.determineServerStatus(serverName); if (origStatus != ServerStatus.STARTED && origStatus != ServerStatus.STARTING) { final ServerStatus status = serverInventory.startServer(serverName, model, blocking); context.getResult().set(status.toString()); } else { context.getResult().set(origStatus.toString()); } context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { if (origStatus != ServerStatus.STARTED && origStatus != ServerStatus.STARTING) { serverInventory.stopServer(serverName, -1); } } }); } }, OperationContext.Stage.RUNTIME);
ServerRegistrationStepHandler(String serverName, ManagementRequestContext<Void> comm) { this.serverProcessName = serverName; this.serverName = serverInventory.getProcessServerName(serverProcessName); this.comm = comm; }
@Override public void operationFailed(String processName, ProcessMessageHandler.OperationType type) { serverInventory.operationFailed(processName, type); } }
public void processInventory(Map<String, ProcessInfo> processInfos) { serverInventory.processInventory(processInfos); }
@Override public ServerStatus restartServer(String serverName, int gracefulTimeout, ModelNode domainModel, boolean blocking) { return serverInventory.restartServer(serverName, gracefulTimeout, domainModel, blocking); }
public void reconnectServer(String serverName, ModelNode domainModel, byte[] authKey, boolean running, boolean stopping) { serverInventory.reconnectServer(serverName, domainModel, authKey, running, stopping); }
public CallbackHandler getServerCallbackHandler() { return serverInventory.getServerCallbackHandler(); }
public String getServerProcessName(String serverName) { return serverInventory.getServerProcessName(serverName); }