Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
#####################################
## Messaging integration with change log
#####################################
# note, change "messagingSample" in key to be the name of the consumer.  e.g. changeLog.consumer.someNameAnyName.class
changeLog.consumer.rabbitMqMessagingSample.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer

changeLog.consumer.rabbitMqMessagingSample.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbMessagingPublisher
changeLog.consumer.rabbitMqMessagingSample.publisher.messagingSystemName = rabbitmqSystem
# note, routingKey property is valid only for rabbitmq. For other messaging systems, it is ignored.
changeLog.consumer.rabbitMqMessagingSample.publisher.routingKey = 
## queue or topic
changeLog.consumer.rabbitMqMessagingSample.publisher.messageQueueType = queue
changeLog.consumer.rabbitMqMessagingSample.publisher.queueOrTopicName = sampleQueue
## this is optional if not using "id" for subjectId, need to be a subject attribute in the sources.xml
#changeLog.consumer.rabbitMqMessagingSample.publisher.addSubjectAttributes = email


changeLog.consumer.rabbitMqMessagingSample.regexRoutingKeyReplacementDefinition = replaceFirst('^hawaii.edu:', 'group.modify.').replaceFirst('(:enrolled|:waitlisted|:withdrawn)$', '')
changeLog.consumer.rabbitMqMessagingSample.replaceRoutingKeyColonsWithPeriods = true

Filter messages with something like this:

Code Block
changeLog.consumer.rabbitMqMessagingSample.elfilter = event.eventType =~ ['GROUP_ADD', 'GROUP_UPDATE', 'GROUP_DELETE', 'MEMBERSHIP_ADD', 'MEMBERSHIP_UPDATE', 'MEMBERSHIP_DELETE'] and event.groupName =~ '^app:.*' and event.groupName !~ '.*:filter_sources$'


Note, you need to create the rabbitmq queue (you can do this with the admin console: http://localhost:15672/#/queues

...