java.lang.Object
edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBase
edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer

public class EsbConsumer extends ChangeLogConsumerBase
Class to dispatch individual events to external systems through configured classes. HTTP, HTTTPS and XMPP currently supported. Configure in grouper-loader.properties
  • Field Details

  • Constructor Details

    • EsbConsumer

      public EsbConsumer()
  • Method Details

    • getBatchSize

      public Integer getBatchSize()
      Description copied from class: ChangeLogConsumerBase
      override the batch size configured in config file
      Overrides:
      getBatchSize in class ChangeLogConsumerBase
      Returns:
    • callAtLeastOnce

      public boolean callAtLeastOnce()
      some change log consumers might want to be called even if nothing happened in change log e.g. check messages in provisioners
      Overrides:
      callAtLeastOnce in class ChangeLogConsumerBase
      Returns:
    • main

      public static void main(String[] args)
      Parameters:
      args -
    • logIntegerIfNotZero

      public static void logIntegerIfNotZero(Map<String,Object> debugMap, String label, Integer theInt)
      add something to the log if its not zero (so we dont have noise). Note, if it existed previously, then remove it
      Parameters:
      debugMap -
      label -
      theInt -
    • logObjectIfNotNull

      public static void logObjectIfNotNull(Map<String,Object> debugMap, String label, Object theObject)
      add something to the log if its not null (so we dont have noise). Note, if it existed previously, then remove it
      Parameters:
      debugMap -
      label -
      theInt -
    • provisioningHeartbeatLogic

      public Runnable provisioningHeartbeatLogic()
    • isDebugConsumer

      public boolean isDebugConsumer()
      Returns:
    • getDebugMapOverall

      public Map<String,Object> getDebugMapOverall()
    • getChangeLogProcessorMetadata

      public ChangeLogProcessorMetadata getChangeLogProcessorMetadata()
      Returns:
      metadata
    • setChangeLogProcessorMetadata

      public void setChangeLogProcessorMetadata(ChangeLogProcessorMetadata changeLogProcessorMetadata1)
      Parameters:
      changeLogProcessorMetadata1 -
    • processChangeLogEntries

      public long processChangeLogEntries(List<ChangeLogEntry> changeLogEntryList, ChangeLogProcessorMetadata changeLogProcessorMetadata1)
      Description copied from class: ChangeLogConsumerBase
      process the change logs
      Specified by:
      processChangeLogEntries in class ChangeLogConsumerBase
      Parameters:
      changeLogEntryList - NOTE, DO NOT CHANGE OR EDIT THE OBJECTS IN THIS LIST, THEY MIGHT BE SHARED!
      Returns:
      which sequence number it got up to (which sequence number was the last one processed). or -1 if none processed
      See Also:
    • initEsbPublisherBase

      public void initEsbPublisherBase()
    • getEsbPublisherBase

      public EsbListenerBase getEsbPublisherBase()
    • matchesFilter

      public static boolean matchesFilter(EsbEvent esbEvent, String filterString)
      see if the esb event matches an EL filter. Note the available objects are event for the EsbEvent, and grouperUtil for the GrouperUtil class which has a lot of utility methods
      Parameters:
      filterString -
      esbEvent -
      Returns:
      true if matches, false if doesnt