@Override public int compare(ServerIdentity o1, ServerIdentity o2) { int val = o1.getHostName().compareTo(o2.getHostName()); if (val == 0) { val = o1.getServerName().compareTo(o2.getServerName()); } return val; } }
private boolean listServers() throws Exception { stdout.println("\nReading the list of configured servers:"); for (Map.Entry<ServerIdentity, ServerStatus> server : client.getServerStatuses().entrySet()) { ServerIdentity id = server.getKey(); stdout.println("\nServer:\n"); stdout.println("server name: " + id.getServerName()); stdout.println("host controller name: " + id.getHostName()); stdout.println("server group name: " + id.getServerGroupName()); stdout.println("status: " + server.getValue()); } return continuePrompt(); }
void storeServerUpdateResult(ServerIdentity server, ServerUpdateResult result) { ServerGroupDeploymentActionResultImpl sgdar = (ServerGroupDeploymentActionResultImpl) serverResults.get(server.getServerGroupName()); if (sgdar == null) { sgdar = new ServerGroupDeploymentActionResultImpl(server.getServerGroupName()); serverResults.put(server.getServerGroupName(), sgdar); } sgdar.storeServerResult(server.getServerName(), result); } }
private SortedMap<String, ServerIdentity> getValidServers(ServerStatus valid, ServerStatus... alsoValid) { Set<ServerStatus> validSet = EnumSet.of(valid, alsoValid); SortedMap<String, ServerIdentity> result = new TreeMap<String, ServerIdentity>(); for (Map.Entry<ServerIdentity, ServerStatus> entry : client.getServerStatuses().entrySet()) { if (validSet.contains(entry.getValue())) { result.put(entry.getKey().getServerName(), entry.getKey()); } } return result; }
final Map<String, UpdateFailedException> hostExceptions = new HashMap<String, UpdateFailedException>(); for (ServerIdentity serverId : servers) { hostExceptions.put(serverId.getHostName(), updateFailedException);
@Override public Map<ServerIdentity, ServerStatus> getServerStatuses() { Map<ServerIdentity, ServerStatus> result = new HashMap<ServerIdentity, ServerStatus>(); List<String> hosts = getHostControllerNames(); for (String host : hosts) { Set<String> servers = getServerNames(host); for (String server : servers) { ModelNode address = new ModelNode(); address.add("host", host); address.add("server-config", server); String group = readAttribute("group", address).asString(); ServerStatus status = Enum.valueOf(ServerStatus.class, readAttribute("status", address).asString()); ServerIdentity id = new ServerIdentity(host, group, server); result.put(id, status); } } return result; }
void storeServerUpdateResult(ServerIdentity server, ServerUpdateResult result) { ServerGroupDeploymentActionResultImpl sgdar = (ServerGroupDeploymentActionResultImpl) serverResults.get(server.getServerGroupName()); if (sgdar == null) { sgdar = new ServerGroupDeploymentActionResultImpl(server.getServerGroupName()); serverResults.put(server.getServerGroupName(), sgdar); } sgdar.storeServerResult(server.getServerName(), result); } }
private void exerciseQueueOnServer(final String queueName, final ServerIdentity server) throws Exception { stdout.println("Exercising queue " + queueName + " on server " + server.getServerName());
final Map<String, UpdateFailedException> hostExceptions = new HashMap<String, UpdateFailedException>(); for (ServerIdentity serverId : servers) { hostExceptions.put(serverId.getHostName(), updateFailedException);
@Override public Map<ServerIdentity, ServerStatus> getServerStatuses() { Map<ServerIdentity, ServerStatus> result = new HashMap<ServerIdentity, ServerStatus>(); List<String> hosts = getHostControllerNames(); for (String host : hosts) { Set<String> servers = getServerNames(host); for (String server : servers) { ModelNode address = new ModelNode(); address.add("host", host); address.add("server-config", server); String group = readAttribute("group", address).asString(); ServerStatus status = Enum.valueOf(ServerStatus.class, readAttribute("status", address).asString()); ServerIdentity id = new ServerIdentity(host, group, server); result.put(id, status); } } return result; }
@Override public int compare(ServerIdentity o1, ServerIdentity o2) { int val = o1.getHostName().compareTo(o2.getHostName()); if (val == 0) { val = o1.getServerName().compareTo(o2.getServerName()); } return val; } }
private Map<ServerIdentity, ControlledProcessState.State> getServerStatuses() { Map<ServerIdentity, ControlledProcessState.State> result = new HashMap<ServerIdentity, ControlledProcessState.State>(); ModelNode op = new ModelNode(); op.get("operation").set("read-children-names"); op.get("child-type").set("server-config"); op.get("address").add("host", configuration.getHostName()); ModelNode opResult = executeForResult(new OperationBuilder(op).build()); Set<String> servers = new HashSet<String>(); for (ModelNode server : opResult.asList()) { servers.add(server.asString()); } for (String server : servers) { ModelNode address = new ModelNode(); address.add("host", configuration.getHostName()); address.add("server-config", server); String group = readAttribute("group", address).resolve().asString(); if (!readAttribute("auto-start", address).resolve().asBoolean()) { continue; } address = new ModelNode(); address.add("host", configuration.getHostName()); address.add("server", server); ControlledProcessState.State status = Enum.valueOf(ControlledProcessState.State.class, readAttribute("server-state", address).asString().toUpperCase(Locale.ENGLISH)); ServerIdentity id = new ServerIdentity(configuration.getHostName(), group, server); result.put(id, status); } return result; }
@Override public int compare(ServerIdentity o1, ServerIdentity o2) { int val = o1.getHostName().compareTo(o2.getHostName()); if (val == 0) { val = o1.getServerName().compareTo(o2.getServerName()); } return val; } }
final ServerIdentity id = new ServerIdentity(configuration.getHostName(), group, server); if (!readAttribute("status", address).asString().equals("STARTED")) { result.put(id, ControlledProcessState.State.STARTING);
@Override public int compare(ServerIdentity o1, ServerIdentity o2) { int val = o1.getHostName().compareTo(o2.getHostName()); if (val == 0) { val = o1.getServerName().compareTo(o2.getServerName()); } return val; } }
private boolean stopServer() throws Exception { ServerIdentity server = chooseServer(ServerStatus.STARTED); if (server != null) { System.out.println("\nStopping server " + server.getServerName() + "\n"); ServerStatus status = client.stopServer(server.getHostName(), server.getServerName(), -1, TimeUnit.SECONDS); System.out.println("Stop executed. Server status is " + status); } return continuePrompt(); }
private boolean restartServer() throws Exception { ServerIdentity server = chooseServer(ServerStatus.STARTED); if (server != null) { System.out.println("\nRestarting server " + server.getServerName() + "\n"); ServerStatus status = client.restartServer(server.getHostName(), server.getServerName(), -1, TimeUnit.SECONDS); System.out.println("Restart executed. Server status is " + status); } return continuePrompt(); }
private boolean startServer() throws Exception { ServerIdentity server = chooseServer(ServerStatus.STOPPED, ServerStatus.DISABLED); if (server != null) { System.out.println("\nStarting server " + server.getServerName() + "\n"); ServerStatus status = client.startServer(server.getHostName(), server.getServerName()); System.out.println("Start executed. Server status is " + status); } return continuePrompt(); }
private boolean dumpServer() throws Exception { ServerIdentity server = chooseServer(ServerStatus.STARTED); if (server != null) { stdout.println("\nReading runtime configuration for " + server.getServerName() + "\n"); ModelNode op = new ModelNode(); op.get("operation").set("read-config-as-xml"); ModelNode address = op.get("address"); address.add("host", server.getHostName()); address.add("server", server.getServerName()); stdout.println(executeForResult(new OperationBuilder(op).build()).asString()); } return continuePrompt(); }
private MBeanServerConnection getMBeanServerConnection(ServerIdentity server) throws Exception { // Poke the running server directly for its binding config final ModelNode address = new ModelNode(); address.add("host", server.getHostName()); address.add("server", server.getServerName()); address.add("socket-binding-group", "standard-sockets"); final ModelNode operation = new ModelNode(); operation.get(OP).set(READ_RESOURCE_OPERATION); operation.get(OP_ADDR).set(address); operation.get(RECURSIVE).set(true); final ModelNode result = executeForResult(operation); final int portOffset = result.get(PORT_OFFSET).asInt(0); final int port = result.get(SOCKET_BINDING, "jmx-connector-registry", PORT).asInt() + portOffset; final String addr = "localhost"; // TODO determine the interface binding String url = String.format("service:jmx:rmi:///jndi/rmi://%s:%d/jmxrmi", addr, port); return JMXConnectorFactory.connect(new JMXServiceURL(url), new HashMap<String, Object>()).getMBeanServerConnection(); }