All Implemented Interfaces:
ResourceChangeListener

public class IdMapService extends AbstractServiceWithBackgroundCheck implements ResourceChangeListener
The IdMapService is responsible for storing a slingId-clusterNodeId pair to the repository and given all other instances in the cluster do the same can map clusterNodeIds to slingIds (or vice-versa)
  • Constructor Details

    • IdMapService

      public IdMapService()
  • Method Details

    • testConstructor

      public static IdMapService testConstructor(DiscoveryLiteConfig commonsConfig, SlingSettingsService settingsService, ResourceResolverFactory resourceResolverFactory)
      test-only constructor
    • activate

      protected void activate(org.osgi.framework.BundleContext bundleContext)
    • deactivate

      protected void deactivate()
    • getMyId

      public long getMyId()
    • waitForInit

      public boolean waitForInit(long timeout)
      for testing only
    • isInitialized

      public boolean isInitialized()
    • clearCache

      public void clearCache()
    • toSlingId

      public String toSlingId(int clusterNodeId, ResourceResolver resourceResolver) throws PersistenceException
      Throws:
      PersistenceException
    • onChange

      public void onChange(List<ResourceChange> changes)
      Description copied from interface: ResourceChangeListener
      Report resource changes based on the filter properties of this listener.

      Note that resource changes for paths which are ancestors of the paths this listener was registered to may be reported through this method. This is due to limitations of certain resource providers to provide events on a more granular level (e.g. for deletion or movement of resources containing (potentially nested) child resources).

      Starting with version 1.2 of this API, an instance of ResoureChangeList is passed as the parameter to allow passing additional information.

      Specified by:
      onChange in interface ResourceChangeListener
      Parameters:
      changes - The changes list. This list is immutable.