@Override public long pingNode(String nodeIdOrAlias) throws Exception { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster group " + nodeIdOrAlias + " doesn't exist"); } Long start = System.currentTimeMillis(); Ping ping = new Ping(clusterManager.generateId()); ping.setDestination(new HashSet(Arrays.asList(node))); executionContext.execute(ping); Long stop = System.currentTimeMillis(); return (stop - start); }
@Override public long pingNode(String nodeIdOrAlias) throws Exception { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster group " + nodeIdOrAlias + " doesn't exist"); } Long start = System.currentTimeMillis(); Ping ping = new Ping(clusterManager.generateId()); ping.setDestination(new HashSet(Arrays.asList(node))); executionContext.execute(ping); Long stop = System.currentTimeMillis(); return (stop - start); }
@Override public void producerStart(String nodeIdOrAlias) throws Exception { ProducerSwitchCommand command = new ProducerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist)"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.ON); executionContext.execute(command); }
@Override public void producerStop(String nodeIdOrAlias) throws Exception { ProducerSwitchCommand command = new ProducerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.OFF); executionContext.execute(command); }
@Override public void handlerStart(String handlerId, String nodeIdOrAlias) throws Exception { ManageHandlersCommand command = new ManageHandlersCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setHandlerName(handlerId); command.setDestination(nodes); command.setStatus(Boolean.TRUE); }
@Override public void handlerStart(String handlerId, String nodeIdOrAlias) throws Exception { ManageHandlersCommand command = new ManageHandlersCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setHandlerName(handlerId); command.setDestination(nodes); command.setStatus(Boolean.TRUE); }
@Override public void consumerStart(String nodeIdOrAlias) throws Exception { ConsumerSwitchCommand command = new ConsumerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.ON); executionContext.execute(command); }
@Override public void producerStart(String nodeIdOrAlias) throws Exception { ProducerSwitchCommand command = new ProducerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist)"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.ON); executionContext.execute(command); }
@Override public void consumerStop(String nodeIdOrAlias) throws Exception { ConsumerSwitchCommand command = new ConsumerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.OFF); executionContext.execute(command); }
@Override public void handlerStop(String handlerId, String nodeIdOrAlias) throws Exception { ManageHandlersCommand command = new ManageHandlersCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setHandlerName(handlerId); command.setDestination(nodes); command.setStatus(Boolean.FALSE); }
@Override public void consumerStart(String nodeIdOrAlias) throws Exception { ConsumerSwitchCommand command = new ConsumerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.ON); executionContext.execute(command); }
@Override public void consumerStop(String nodeIdOrAlias) throws Exception { ConsumerSwitchCommand command = new ConsumerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.OFF); executionContext.execute(command); }
@Override public void producerStop(String nodeIdOrAlias) throws Exception { ProducerSwitchCommand command = new ProducerSwitchCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setDestination(nodes); command.setStatus(SwitchStatus.OFF); executionContext.execute(command); }
@Override public void handlerStop(String handlerId, String nodeIdOrAlias) throws Exception { ManageHandlersCommand command = new ManageHandlersCommand(clusterManager.generateId()); Set<Node> nodes = new HashSet<Node>(); if (nodeIdOrAlias == null || nodeIdOrAlias.isEmpty()) { nodes.add(clusterManager.getNode()); } else { Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } nodes.add(node); } command.setHandlerName(handlerId); command.setDestination(nodes); command.setStatus(Boolean.FALSE); }
@Override protected Object doExecute() throws Exception { org.apache.karaf.cellar.core.control.ShutdownCommand command = new org.apache.karaf.cellar.core.control.ShutdownCommand(clusterManager.generateId()); Set<Node> recipientList = clusterManager.listNodes(); command.setDestination(recipientList); command.setHalt(halt); System.out.println("!! Cluster shutdown !!"); executionContext.execute(command); return null; }
@Override public void quit(String groupName, String nodeIdOrAlias) throws Exception { Group group = groupManager.findGroupByName(groupName); if (group == null) { throw new IllegalArgumentException("Cluster group " + groupName + " doesn't exist"); } Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } Set<Node> nodes = new HashSet<Node>(); nodes.add(node); ManageGroupCommand command = new ManageGroupCommand(clusterManager.generateId()); command.setAction(ManageGroupAction.QUIT); command.setGroupName(groupName); command.setDestination(nodes); executionContext.execute(command); }
@Override public void join(String groupName, String nodeIdOrAlias) throws Exception { Group group = groupManager.findGroupByName(groupName); if (group == null) { throw new IllegalArgumentException("Cluster group " + groupName + " doesn't exist"); } Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias); if (node == null) { throw new IllegalArgumentException("Cluster node " + nodeIdOrAlias + " doesn't exist"); } Set<Node> nodes = new HashSet<Node>(); nodes.add(node); ManageGroupCommand command = new ManageGroupCommand(clusterManager.generateId()); command.setAction(ManageGroupAction.JOIN); command.setGroupName(groupName); command.setDestination(nodes); executionContext.execute(command); }
@Override public void shutdown(boolean poweroff) throws Exception { ShutdownCommand command = new ShutdownCommand(clusterManager.generateId()); Set<Node> nodes = clusterManager.listNodes(); command.setDestination(nodes); command.setHalt(poweroff); executionContext.execute(command); }
@Override public void shutdown(boolean poweroff) throws Exception { ShutdownCommand command = new ShutdownCommand(clusterManager.generateId()); Set<Node> nodes = clusterManager.listNodes(); command.setDestination(nodes); command.setHalt(poweroff); executionContext.execute(command); }
@Override public void doAppend(PaxLoggingEvent event) { Map<ClusterLogKey, ClusterLogRecord> clusterLog = clusterManager.getMap(LOG_MAP); ClusterLogRecord record = new ClusterLogRecord(); ClusterLogKey key = new ClusterLogKey(); Node node = clusterManager.getNode(); key.setNodeId(node.getId()); key.setNodeAlias(node.getAlias()); key.setTimeStamp(event.getTimeStamp()); key.setId(clusterManager.generateId()); record.setFQNOfLoggerClass(event.getFQNOfLoggerClass()); record.setLevel(event.getLevel().toString()); record.setLoggerName(event.getLoggerName()); record.setMessage(event.getMessage()); record.setRenderedMessage(event.getRenderedMessage()); record.setThreadName(event.getThreadName()); record.setThrowableStringRep(event.getThrowableStrRep()); clusterLog.put(key, record); }