@Override public void onClusterEvent(ClusterEvent event) { switch (event.getType()) { case NODE_JOINED: case OPERATIONS_DISABLED: case OPERATIONS_ENABLED: break; case NODE_LEFT: getLog().info("Received node left notification for " + event.getNode().getId()); nodeLeft(event); break; case NODE_REJOINED: getLog().info("Received rejoin notification " + terracottaClientId + " => " + event.getNode().getId()); terracottaClientId = event.getNode().getId(); break; } }
/** * <p> * Called by the QuartzScheduler before the <code>JobStore</code> is used, in order to give the it a chance to * initialize. * </p> */ @Override // XXX: remove this suppression @SuppressWarnings("unchecked") public void initialize(ClassLoadHelper loadHelper, SchedulerSignaler schedulerSignaler) { this.terracottaClientId = clusterInfo.getCurrentNode().getId(); this.ftrCtr = System.currentTimeMillis(); // this MUST happen before initializing the trigger set (otherwise we might receive an update which get an NPE) // this.serializer.setClassLoadHelper(loadHelper); this.signaler = schedulerSignaler; getLog().info(getClass().getSimpleName() + " initialized."); ((ToolkitInternal) toolkit).registerBeforeShutdownHook(new ShutdownHook(this)); }
@Override public void schedulerStarted() throws SchedulerException { clusterInfo.addClusterListener(this); Collection<ClusterNode> nodes = clusterInfo.getNodes(); boolean added = activeClientIDs.add(node.getId()); if (!added) { getLog().error("DUPLICATE node ID detected: " + node);
@Override public ClusterNode getCurrentNode() { return new TerracottaNodeImpl(cluster.getCurrentNode()); }
@Override public String getId() { return this.node.getId(); }
private void addInternal(ClusterTopologyListener listener) { cluster.addClusterListener(new ClusterListenerAdapter(listener, cluster)); }
@Override public Collection<ClusterNode> getNodes() { Collection<org.terracotta.toolkit.cluster.ClusterNode> toolkitNodes = cluster.getNodes(); Collection<ClusterNode> nodes = new ArrayList<ClusterNode>(); for (org.terracotta.toolkit.cluster.ClusterNode node : toolkitNodes) { nodes.add(new TerracottaNodeImpl(node)); } return nodes; }
@Override public boolean isClusterOnline() { return cluster.areOperationsEnabled(); }
@Override public String getIp() { return this.node.getAddress().getHostAddress(); }
private void removeInternal(ClusterTopologyListener listener) { cluster.removeClusterListener(new ClusterListenerAdapter(listener, cluster)); }
@Override public void onClusterEvent(ClusterEvent event) { switch (event.getType()) { case NODE_JOINED: case OPERATIONS_DISABLED: case OPERATIONS_ENABLED: break; case NODE_LEFT: getLog().info("Received node left notification for " + event.getNode().getId()); nodeLeft(event); break; case NODE_REJOINED: getLog().info("Received rejoin notification " + terracottaClientId + " => " + event.getNode().getId()); terracottaClientId = event.getNode().getId(); break; } }
@Override public void schedulerStarted() throws SchedulerException { clusterInfo.addClusterListener(this); Collection<ClusterNode> nodes = clusterInfo.getNodes(); boolean added = activeClientIDs.add(node.getId()); if (!added) { getLog().error("DUPLICATE node ID detected: " + node);
/** * <p> * Called by the QuartzScheduler before the <code>JobStore</code> is used, in order to give the it a chance to * initialize. * </p> */ @Override // XXX: remove this suppression @SuppressWarnings("unchecked") public void initialize(ClassLoadHelper loadHelper, SchedulerSignaler schedulerSignaler) { this.terracottaClientId = clusterInfo.getCurrentNode().getId(); this.ftrCtr = System.currentTimeMillis(); // this MUST happen before initializing the trigger set (otherwise we might receive an update which get an NPE) // this.serializer.setClassLoadHelper(loadHelper); this.signaler = schedulerSignaler; getLog().info(getClass().getSimpleName() + " initialized."); ((ToolkitInternal) toolkit).registerBeforeShutdownHook(new ShutdownHook(this)); }
@Override public ClusterNode waitUntilNodeJoinsCluster() { return new TerracottaNodeImpl(cluster.getCurrentNode()); }
private boolean areOperationsEnabled() { return clusterInfo.areOperationsEnabled(); }
@Override public String getHostname() { return this.node.getAddress().getHostName(); }
@Override public void clusterOnline(ClusterNode node) { this.clusterOnline = true; this.currentNode = new TerracottaNodeImpl(toolkit.getClusterInfo().getCurrentNode()); }