final ActionReport report = context.getActionReport(); report.setActionExitCode(ActionReport.ExitCode.FAILURE); report.setMessage(localStrings.getLocalString("delete.resource.ref.jdbc.default", "Default JDBC resource ref cannot be deleted.")); return; report.setActionExitCode(ActionReport.ExitCode.FAILURE); report.setMessage(localStrings.getLocalString("delete.resource.ref.jms.default", "Default JMS connection factory ref cannot be deleted.")); return; Target tgt = habitat.getService(Target.class); List<Server> instances = tgt.getInstances(target); for (Server svr : instances) { svr.deleteResourceRef(refName); report.setActionExitCode(ActionReport.ExitCode.SUCCESS); report.setMessage(localStrings.getLocalString("delete.resource.ref.success", "resource-ref {0} deleted successfully from target {1}.", refName, target));
final ActionReport report = context.getActionReport(); String[] serverIds = null; if(targetUtil.isCluster(target)) { List<Server> serversInCluster = targetUtil.getInstances(target); serverIds = new String[serversInCluster.size()]; for(int i = 0; i < serverIds.length; i++) { String[] timerCounts = listTimers(serverIds); for (int i = 0; i < serverIds.length; i++) { final ActionReport.MessagePart part = report.getTopMessagePart().addChild(); part.setMessage(serverIds[i] + ": " + timerCounts[i]); report.setActionExitCode(ActionReport.ExitCode.SUCCESS); } catch (Exception e) { report.setMessage(localStrings.getLocalString("list.timers.failed", "List Timers command failed")); report.setActionExitCode(ActionReport.ExitCode.FAILURE);
private boolean isInstanceRunning() { boolean rs = false; int num = 0; List<Server> allServers = targetService.getAllInstances(); for (Server server : allServers) { if (server.isRunning()) { num++; } } if (num >= 2) rs = true; return rs; }
/** * Given name of a target verifies if it is valid * @param targetName name of the target * @return true if the target is a valid cluster or server instance or a config */ public boolean isValid(String targetName) { if(isCluster(targetName)) return true; if(getInstances(targetName).size() != 0) return true; if(domain.getConfigNamed(targetName) != null) return true; return false; } }
/** * Given a name (of instance or cluster or config), returns the appropriate Config object * @param targetName name of target * @return Config element of this target */ public Config getConfig(String targetName) { if(CommandTarget.CONFIG.isValid(habitat, targetName)) return domain.getConfigNamed(targetName); if(CommandTarget.DAS.isValid(habitat, targetName)) return getServerConfig(targetName); if(CommandTarget.STANDALONE_INSTANCE.isValid(habitat, targetName)) return getServerConfig(targetName); if(CommandTarget.CLUSTER.isValid(habitat, targetName)) return getClusterConfig(targetName); return null; }
new LocalStringManagerImpl(ClusterOperationUtil.class); InstanceStateService instanceState = habitat.getService(InstanceStateService.class); validateIntermediateDownloadDir(intermediateDownloadDir); RemoteInstanceCommandHelper rich = new RemoteInstanceCommandHelper(habitat); FailurePolicy.applyFailurePolicy(neverStartedPolicy, ActionReport.ExitCode.FAILURE); if (!finalResult.equals(ActionReport.ExitCode.SUCCESS)) { ActionReport aReport = context.getActionReport().addSubActionsReport(); if (finalResult.equals(ActionReport.ExitCode.FAILURE)) { aReport.setMessage(strings.getLocalString("clusterutil.failneverstarted", "FAILURE: Instance {0} has never been started; command {1} was not replicated to that instance", svr.getName(), commandName)); if (!Boolean.valueOf(scfg.getDynamicReconfigurationEnabled())) { Target targetService = habitat.getService(Target.class); for(String t : targetNames) { if(CommandTarget.DAS.isValid(habitat, t) || parameters.set("target", t); ActionReport.ExitCode returnValue = replicateCommand(commandName, failPolicy, offlinePolicy, neverStartedPolicy, targetService.getInstances(t), context, parameters, habitat, intermediateDownloadDir); if(!returnValue.equals(ActionReport.ExitCode.SUCCESS)) {
/** * Executes the command with the command parameters passed as Properties where the keys are the paramter names and * the values the parameter values * * @param context information */ @Override public void execute(AdminCommandContext context) { final ActionReport report = context.getActionReport(); Target targetUtil = habitat.getService(Target.class); Config newConfig = targetUtil.getConfig(target); if (newConfig!=null) { config = newConfig; } if (!"iiop-service".equals(type)) { if (listenerId == null) { report.setMessage(localStrings.getLocalString("create.ssl.listenerid.missing", "Listener id needs to be specified")); report.setActionExitCode(ActionReport.ExitCode.FAILURE); return; } } SslConfigHandler configHandler = habitat.getService(SslConfigHandler.class, type); if (configHandler!=null) { configHandler.create(this, report); } else if ("jmx-connector".equals(type)) { addSslToJMXConnector(config, report); } }
public void execute(AdminCommandContext context) { final Target targetUtil = habitat.getComponent(Target.class ) ; final Config config = targetUtil.getConfig(target) ; ActionReport report = context.getActionReport(); IiopService iiopService = config.getIiopService(); report.setMessage(localStrings.getLocalString("delete.iiop.listener" + ".notexists", "IIOP Listener {0} does not exist.", listener_id)); report.setActionExitCode(ExitCode.FAILURE); return; report.setActionExitCode(ExitCode.SUCCESS); } catch(TransactionFailure e) { String actual = e.getMessage(); report.setMessage(localStrings.getLocalString( "delete.iiop.listener.fail", "failed", listener_id, actual)); report.setActionExitCode(ExitCode.FAILURE);
LogDomains.ADMIN_LOGGER); private static final LocalStringManagerImpl strings = new LocalStringManagerImpl(ClusterOperationUtil.class); ActionReport aReport = context.getActionReport().addSubActionsReport(); InstanceCommandResult aResult = new InstanceCommandResult(); InstanceCommandExecutor ice = logger.severe(strings.getLocalString("clusterutil.instancehasnostate", "Could not find state of instance registered in the state service")); continue; continue; if(targetService.isCluster(t)) { String dynRecfg = targetService.getClusterConfig(t).getDynamicReconfigurationEnabled(); if(Boolean.FALSE.equals(Boolean.valueOf(dynRecfg))) { ActionReport aReport = context.getActionReport().addSubActionsReport(); " dynamic-reconfig-enabled flag is set to false for cluster {0}", t)); InstanceStateService instanceState = habitat.getComponent(InstanceStateService.class); for(Server s : targetService.getInstances(t)) { instanceState.setState(s.getName(), InstanceState.StateType.RESTART_REQUIRED, false); instanceState.addFailedCommandToInstance(s.getName(), commandName, parameters); failPolicy, offlinePolicy, targetService.getInstances(t), context, parameters, habitat, intermediateDownloadDir); if(!returnValue.equals(ActionReport.ExitCode.SUCCESS)) {
((!CommandTarget.DAS.isValid(habitat, targetName)) && (!CommandTarget.DOMAIN.isValid(habitat, targetName))) ) { if (targetService.isCluster(targetName) && !runtimeTypes.contains(RuntimeType.ALL)) { String dynRecfg = targetService.getClusterConfig(targetName).getDynamicReconfigurationEnabled(); if(Boolean.FALSE.equals(Boolean.valueOf(dynRecfg))) { ActionReport aReport = context.getActionReport().addSubActionsReport(); aReport.setActionExitCode(ActionReport.ExitCode.WARNING); aReport.setMessage(strings.getLocalString("glassfish.clusterexecutor.dynrecfgdisabled", "WARNING: The command was not replicated to all cluster instances because the" + " dynamic-reconfig-enabled flag is set to false for cluster {0}", targetName)); for(Server s : targetService.getInstances(targetName)) { instanceState.setState(s.getName(), InstanceState.StateType.RESTART_REQUIRED, false); instanceState.addFailedCommandToInstance(s.getName(), commandName, parameters); List<Server> allInstances = targetService.getAllInstances(); Set<String> clusterNoReplication = new HashSet<String>(); for (Server s : allInstances) { String dynRecfg = s.getConfig().getDynamicReconfigurationEnabled(); if (Boolean.TRUE.equals(Boolean.valueOf(dynRecfg))) { instancesForReplication.add(s); ActionReport aReport = context.getActionReport().addSubActionsReport(); aReport.setActionExitCode(ActionReport.ExitCode.WARNING); aReport.setMessage(strings.getLocalString("glassfish.clusterexecutor.dynrecfgdisabled", "WARNING: The command was not replicated to all cluster instances because the" + " dynamic-reconfiguration-enabled flag is set to false for cluster(s) {0}", clusterNoReplication)); instancesForReplication = targetService.getInstances(targetName);
@Override public final void execute(AdminCommandContext context) { ActionReport actionReport = context.getActionReport(); Properties extraProperties = actionReport.getExtraProperties(); if (extraProperties == null) { extraProperties = new Properties(); actionReport.setExtraProperties(extraProperties); if (! preInvoke(context, actionReport)) { commandsExitCode = ActionReport.ExitCode.FAILURE; actionReport.setActionExitCode(commandsExitCode); return; if (targetUtil.isCluster(target)) { for (Server serverInst : targetUtil.getInstances(target)) { try { subReport = executeInternalCommand(context, serverInst.getName());
@Override public void execute(final AdminCommandContext context) { final ActionReport actionReport = context.getActionReport(); Properties extraProperties = actionReport.getExtraProperties(); if (extraProperties == null) { extraProperties = new Properties(); actionReport.setExtraProperties(extraProperties); actionReport.setMessage("Either dataSourceLookupName or executorServiceLookupName must be specified."); actionReport.setActionExitCode(ActionReport.ExitCode.FAILURE); return; Config config = targetUtil.getConfig(target); System.out.println("** EXECUTING -d " + dataSourceLookupName + " -x " + executorServiceLookupName); BatchRuntimeConfiguration batchRuntimeConfiguration = config.getExtensionByType(BatchRuntimeConfiguration.class); if (batchRuntimeConfiguration != null) { ConfigSupport.apply(new SingleConfigCode<BatchRuntimeConfiguration>() {
@Override protected void executeCommand(AdminCommandContext context, Properties extraProps) { Config config = targetUtil.getConfig(target); if (config == null) { context.getActionReport().setMessage("No such config named: " + target); context.getActionReport().setActionExitCode(ActionReport.ExitCode.FAILURE); return; BatchRuntimeConfiguration batchRuntimeConfiguration = config.getExtensionByType(BatchRuntimeConfiguration.class); context.getActionReport().setMessage(columnFormatter.toString());
@Override public void execute(AdminCommandContext context) { ActionReport report = context.getActionReport(); final Logger logger = context.getLogger(); final String clusterName = context.getActionReport().getResultType(String.class); if (clusterName != null) { try { ParameterMapExtractor pme = new ParameterMapExtractor(this); final ParameterMap paramMap = pme.extract(); List<String> targets = new ArrayList<String>(); List<Server> instances = target.getInstances(clusterName); for (Server s : instances) { targets.add(s.getName()); } ClusterOperationUtil.replicateCommand( "_unregister-instance", FailurePolicy.Warn, FailurePolicy.Warn, targets, context, paramMap, habitat); } catch (Exception e) { report.failure(logger, e.getMessage()); } } } }
public void callInstance(ActionReport report, AdminCommandContext context, String targetName) { try { ParameterMap paramMap = new ParameterMap(); paramMap.set("MoniTor", "true"); paramMap.set("DEFAULT", pattern); List<Server> targetList = targetService.getInstances(targetName); ClusterOperationUtil.replicateCommand("list", FailurePolicy.Error, FailurePolicy.Warn, FailurePolicy.Ignore, targetList, context, paramMap, habitat); } catch(Exception ex) { report.setActionExitCode(ExitCode.FAILURE); report.setMessage("Failure while trying get details from instance " + targetName); } } }
if (tName.indexOf('.') == -1) { replicationInstances = targetService.getAllInstances(); if (targetElementLocation == 0) { if ("resources".equals(firstElementOfName)) { replicationInstances = targetService.getAllInstances(); fail(context, localStrings.getLocalString("admin.set.invalid.appname", "Unable to extract application name from {0}", targetName)); return false; replicationInstances = targetService.getInstances(domain.getAllReferencedTargetsForApplication(appName)); fail(context, localStrings.getLocalString("admin.set.invalid.target", "Unable to extract replication target from {0}", targetName)); return false; replicationInstances = targetService.getInstances(target);
@Override public boolean preAuthorization(AdminCommandContext context) { final ActionReport report = context.getActionReport(); try { targetConfig = targetService.getConfig(target); if (targetConfig != null) { ms = targetConfig.getMonitoringService(); return true; } fail(report, "unknown.target", "Could not find target {0}", target); return false; } catch (Exception e) { fail(report, "target.service.exception", "Encountered exception trying to locate the MonitoringService element " + "in the target ({0}) configuration: {1}", target, e.getMessage()); return false; } }
List<Server> allServers = targetService.getAllInstances(); targets = targetService.getInstances(targetName); if (targetService.isCluster(targetName) && targets.size() > 1) targetIsMultiInstanceCluster = true;
/** * Given a list instance names, get List<Server> */ public List<Server> getInstances(List<String> names) { List<Server> instances = new ArrayList<Server>(); for(String aName : names) instances.addAll(getInstances(aName)); return instances; }
if(!config.isResourceRefExists(jndiName)) { config.createResourceRef(enabled,jndiName); List<Server> instances = tgt.getInstances(target); for (Server svr : instances) { if (!svr.isResourceRefExists(jndiName)) {