Class EsbConsumer
java.lang.Object
edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBase
edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer
Class to dispatch individual events to external systems through configured classes.
HTTP, HTTTPS and XMPP currently supported.
Configure in grouper-loader.properties
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptiontesting data for unit tests -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
some change log consumers might want to be called even if nothing happened in change log e.g.override the batch size configured in config filevoid
boolean
static void
add something to the log if its not zero (so we dont have noise).static void
add something to the log if its not null (so we dont have noise).static void
static boolean
matchesFilter
(EsbEvent esbEvent, String filterString) see if the esb event matches an EL filter.long
processChangeLogEntries
(List<ChangeLogEntry> changeLogEntryList, ChangeLogProcessorMetadata changeLogProcessorMetadata1) process the change logsvoid
setChangeLogProcessorMetadata
(ChangeLogProcessorMetadata changeLogProcessorMetadata1) Methods inherited from class edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBase
getConsumerName, setConsumerName
-
Field Details
-
internal_esbConsumerTestingData
testing data for unit tests
-
-
Constructor Details
-
EsbConsumer
public EsbConsumer()
-
-
Method Details
-
getBatchSize
Description copied from class:ChangeLogConsumerBase
override the batch size configured in config file- Overrides:
getBatchSize
in classChangeLogConsumerBase
- 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 classChangeLogConsumerBase
- Returns:
-
main
- Parameters:
args
-
-
logIntegerIfNotZero
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
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
-
-
isDebugConsumer
public boolean isDebugConsumer()- Returns:
-
getDebugMapOverall
-
getChangeLogProcessorMetadata
- Returns:
- metadata
-
setChangeLogProcessorMetadata
- Parameters:
changeLogProcessorMetadata1
-
-
processChangeLogEntries
public long processChangeLogEntries(List<ChangeLogEntry> changeLogEntryList, ChangeLogProcessorMetadata changeLogProcessorMetadata1) Description copied from class:ChangeLogConsumerBase
process the change logs- Specified by:
processChangeLogEntries
in classChangeLogConsumerBase
- 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
-
matchesFilter
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
-