Examples of TopologyEvent


Examples of org.apache.sling.discovery.TopologyEvent

        }

        oldView.markOld();
        if (difference!=Type.TOPOLOGY_CHANGED) {
            for (final TopologyEventListener da : eventListeners) {
                sendTopologyEvent(da, new TopologyEvent(difference, oldView,
                        newView));
            }
        } else { // TOPOLOGY_CHANGED

          // send a TOPOLOGY_CHANGING first
            for (final TopologyEventListener da : eventListeners) {
                sendTopologyEvent(da, new TopologyEvent(Type.TOPOLOGY_CHANGING, oldView,
                        null));
            }

          if (config.getMinEventDelay()>0) {
                // then delay the sending of the next event
                logger.debug("handlePotentialTopologyChange: delaying event sending to avoid event flooding");

                if (runAfter(config.getMinEventDelay() /*seconds*/ , new Runnable() {

                    public void run() {
                        synchronized(lock) {
                          delayedEventPending = false;
                          logger.debug("handlePotentialTopologyChange: sending delayed event now");
                          if (!activated) {
                            logger.debug("handlePotentialTopologyChange: no longer activated. not sending delayed event");
                            return;
                          }
                            final TopologyViewImpl newView = (TopologyViewImpl) getTopology();
                            // irrespective of the difference, send the latest topology
                            // via a topology_changed event (since we already sent a changing)
                            for (final TopologyEventListener da : eventListeners) {
                                sendTopologyEvent(da, new TopologyEvent(Type.TOPOLOGY_CHANGED,
                                        DiscoveryServiceImpl.this.oldView, newView));
                            }
                            DiscoveryServiceImpl.this.oldView = newView;
                        }
                        if (heartbeatHandler!=null) {
                            // trigger a heartbeat 'now' to pass it on to the topology asap
                            heartbeatHandler.triggerHeartbeat();
                        }
                    }
                })) {
                  delayedEventPending = true;
                    logger.debug("handlePotentialTopologyChange: delaying of event triggered.");
                    return;
                } else {
                  logger.debug("handlePotentialTopologyChange: delaying did not work for some reason.");
                }
          }

          // otherwise, send the TOPOLOGY_CHANGED now
            for (final TopologyEventListener da : eventListeners) {
                sendTopologyEvent(da, new TopologyEvent(Type.TOPOLOGY_CHANGED, oldView,
                        newView));
            }
        }

        this.oldView = newView;
View Full Code Here

Examples of org.apache.sling.discovery.TopologyEvent

              logger.error("forcedShutdown: ignoring forced shutdown. No oldView available.");
              return;
          }
          logger.error("forcedShutdown: sending TOPOLOGY_CHANGING to all listeners");
            for (final TopologyEventListener da : eventListeners) {
                sendTopologyEvent(da, new TopologyEvent(Type.TOPOLOGY_CHANGING, oldView,
                        null));
            }
          logger.error("forcedShutdown: deactivating DiscoveryService.");
          // to make sure no further event is sent after this, flag this service as deactivated
            activated = false;
View Full Code Here

Examples of org.apache.sling.discovery.TopologyEvent

          }

        };
        }
        for(final TopologyEventListener da: registeredServices) {
          da.handleTopologyEvent(new TopologyEvent(Type.TOPOLOGY_INIT, null, topologyView));
        }
    }
View Full Code Here

Examples of org.apache.sling.discovery.TopologyEvent

                awares = this.listeners;
            }
        }
        if ( awares != null ) {
            for(final TopologyEventListener da : awares) {
                da.handleTopologyEvent(new TopologyEvent(Type.PROPERTIES_CHANGED, this.topologyView, this.topologyView));
            }
        }
    }
View Full Code Here

Examples of org.apache.sling.discovery.TopologyEvent

                awares = this.listeners;
            }
        }
        if ( inform && awares != null ) {
            for(final TopologyEventListener da : awares) {
                da.handleTopologyEvent(new TopologyEvent(Type.PROPERTIES_CHANGED, this.topologyView, this.topologyView));
            }
        }
    }
View Full Code Here

Examples of org.apache.sling.discovery.TopologyEvent

                inform = false;
            }
        }

        if ( inform ) {
          clusterAware.handleTopologyEvent(new TopologyEvent(Type.TOPOLOGY_INIT, null, topologyView));
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.