private boolean isRunningServer(String serverName) { ServerStatus status = serverInventory.determineServerStatus(serverName); switch (status) { case STARTED: case STARTING: case STOPPING: return true; default: return false; } }
public ServerStatus determineServerStatus(String serverName) { return serverInventory.determineServerStatus(serverName); }
@Override public ServerStatus determineServerStatus(String serverName) { return getServerInventory().determineServerStatus(serverName); }
@Override public ServerStatus determineServerStatus(String serverName) { return getServerInventory().determineServerStatus(serverName); }
private void persistAutoStart(String serverName, ModelNode model) { Path startedFile = autoStartDataDir.resolve(serverName + STARTED_EXT); Path stoppedFile = autoStartDataDir.resolve(serverName + STOPPED_EXT); if (serverInventory != null && shouldUpdateAutoStart(model)) { ServerStatus status = serverInventory.determineServerStatus(serverName); try { if (status == ServerStatus.STARTED || status == ServerStatus.STARTING) { if (Files.notExists(startedFile)) { Files.createFile(startedFile); } Files.deleteIfExists(stoppedFile); model.get(AUTO_START).set(true); } else if (status == ServerStatus.STOPPED || status == ServerStatus.STOPPING) { if (Files.notExists(stoppedFile)) { Files.createFile(stoppedFile); } Files.deleteIfExists(startedFile); model.get(AUTO_START).set(false); } } catch (IOException ex) { HostControllerLogger.ROOT_LOGGER.couldNotPersistAutoStartServerStatus(ex); } } }
private void persistAutoStart(String serverName, ModelNode model) { Path startedFile = autoStartDataDir.resolve(serverName + STARTED_EXT); Path stoppedFile = autoStartDataDir.resolve(serverName + STOPPED_EXT); if (serverInventory != null && shouldUpdateAutoStart(model)) { ServerStatus status = serverInventory.determineServerStatus(serverName); try { if (status == ServerStatus.STARTED || status == ServerStatus.STARTING) { if (Files.notExists(startedFile)) { Files.createFile(startedFile); } Files.deleteIfExists(stoppedFile); model.get(AUTO_START).set(true); } else if (status == ServerStatus.STOPPED || status == ServerStatus.STOPPING) { if (Files.notExists(stoppedFile)) { Files.createFile(stoppedFile); } Files.deleteIfExists(startedFile); model.get(AUTO_START).set(false); } } catch (IOException ex) { HostControllerLogger.ROOT_LOGGER.couldNotPersistAutoStartServerStatus(ex); } } }
@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 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 { 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);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { // WFLY-2189 trigger a write-runtime authz check context.getServiceRegistry(true); final ServerStatus origStatus = serverInventory.determineServerStatus(serverName); if (origStatus != ServerStatus.STARTED) { throw new OperationFailedException(HostControllerLogger.ROOT_LOGGER.cannotRestartServer(serverName, origStatus)); } final ServerStatus status = serverInventory.restartServer(serverName, -1, model, blocking, suspend); 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 { // WFLY-2189 trigger a write-runtime authz check context.getServiceRegistry(true); final ServerStatus origStatus = serverInventory.determineServerStatus(serverName); if (origStatus != ServerStatus.STARTED) { throw new OperationFailedException(HostControllerLogger.ROOT_LOGGER.cannotRestartServer(serverName, origStatus)); } final ServerStatus status = serverInventory.restartServer(serverName, -1, model, blocking, suspend); 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 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 { 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 { // WFLY-2189 trigger a write-runtime authz check context.getServiceRegistry(true); final ServerStatus origStatus = serverInventory.determineServerStatus(serverName); if (origStatus != ServerStatus.STARTED && origStatus != ServerStatus.STARTING) { final ServerStatus status = serverInventory.startServer(serverName, model, blocking, suspend); persistAutoStart(context); 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); persistAutoStart(context); } } }); } /**
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { // WFLY-2189 trigger a write-runtime authz check context.getServiceRegistry(true); final ServerStatus origStatus = serverInventory.determineServerStatus(serverName); if (origStatus != ServerStatus.STARTED && origStatus != ServerStatus.STARTING) { final ServerStatus status = serverInventory.startServer(serverName, model, blocking, suspend); persistAutoStart(context); 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); persistAutoStart(context); } } }); } /**
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final PathAddress address = PathAddress.pathAddress(operation.require(OP_ADDR)); final PathElement element = address.getLastElement(); final String serverName = element.getValue(); final ModelNode subModel = context.readResource(PathAddress.EMPTY_ADDRESS, false).getModel(); final boolean isStart; if(subModel.hasDefined(AUTO_START)) { isStart = subModel.get(AUTO_START).asBoolean(); } else { isStart = true; } ServerStatus status = serverInventory.determineServerStatus(serverName); if (status == ServerStatus.STOPPED) { status = isStart ? status : ServerStatus.DISABLED; } if(status != null) { context.getResult().set(status.toString()); context.stepCompleted(); } else { throw new OperationFailedException(new ModelNode(MESSAGES.failedToGetServerStatus())); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final PathAddress address = PathAddress.pathAddress(operation.require(OP_ADDR)); final PathElement element = address.getLastElement(); final String serverName = element.getValue(); final ModelNode subModel = context.readResource(PathAddress.EMPTY_ADDRESS, false).getModel(); final boolean isStart = ServerConfigResourceDefinition.AUTO_START.resolveModelAttribute(context, subModel).asBoolean(); ServerStatus status = serverInventory.determineServerStatus(serverName); if (status == ServerStatus.STOPPED) { status = isStart ? status : ServerStatus.DISABLED; } if(status != null) { context.getResult().set(status.toString()); } else { throw new OperationFailedException(HostControllerLogger.ROOT_LOGGER.failedToGetServerStatus()); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final PathAddress address = PathAddress.pathAddress(operation.require(OP_ADDR)); final PathElement element = address.getLastElement(); final String serverName = element.getValue(); final ModelNode subModel = context.readResource(PathAddress.EMPTY_ADDRESS, false).getModel(); final boolean isStart = ServerConfigResourceDefinition.AUTO_START.resolveModelAttribute(context, subModel).asBoolean(); ServerStatus status = serverInventory.determineServerStatus(serverName); if (status == ServerStatus.STOPPED) { status = isStart ? status : ServerStatus.DISABLED; } if(status != null) { context.getResult().set(status.toString()); } else { throw new OperationFailedException(HostControllerLogger.ROOT_LOGGER.failedToGetServerStatus()); } }