Name: grouper-amqp-esb-publisher
Owner: Unicon, Inc.
Description: Grouper ESB Publisher to AMQP broker exchanges
Created: 2015-03-17 20:26:08.0
Updated: 2018-04-02 02:07:46.0
Pushed: 2017-10-31 23:51:07.0
Homepage: null
Size: 70
Language: Groovy
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This is an implementation of Grouper ESB changelog publisher which pushes Grouper ESB JSON messages over to a configured AMQP broker exchange.
1.0.0-RC1
GROUPER_HOME/lib/grouper
GROUPER_HOME/conf/log4j.properties
edicated Grouper ESB logging
j.appender.grouper_esb = org.apache.log4j.DailyRollingFileAppender
j.appender.grouper_esb.File = ${grouper.home}logs/grouper_esb.log
j.appender.grouper_esb.DatePattern = '.'yyyy-MM-dd
j.appender.grouper_esb.layout = org.apache.log4j.PatternLayout
j.appender.grouper_esb.layout.ConversionPattern = %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n
j.logger.net.unicon.grouper.changelog.esb.publisher = DEBUG, grouper_esb
GROUPER_HOME/conf/grouper-loader.properties
B changelog consumer
geLog.consumer.esbAmqp.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer
every minute
geLog.consumer.esbAmqp.quartzCron = 0 * * * * ?
geLog.consumer.esbAmqp.elfilter = event.eventType eq 'GROUP_DELETE' || event.eventType eq 'GROUP_ADD' || event.eventType eq 'MEMBERSHIP_DELETE' || event.eventType eq 'MEMBERSHIP_ADD'
geLog.consumer.esbAmqp.publisher.class = net.unicon.grouper.changelog.esb.publisher.EsbAmqpPublisher
geLog.consumer.esbAmqp.hostName = rabbit.docker
geLog.consumer.esbAmqp.defaultExchange = amq.topic
EL-based regex replacement definition. The chain of 'replaceFirst' method calls will be applied to an extracted group name (String) at runtime
e: http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceFirst(java.lang.String,%20java.lang.String)
geLog.consumer.esbAmqp.regexReplacementDefinition = replaceFirst('^hawaii.edu:', 'group.modify.').replaceFirst('(:enrolled|:waitlisted|:withdrawn)$', '')
geLog.consumer.esbAmqp.replaceRoutingKeyColonsWithPeriods = true
Custom required properties are:
changeLog.consumer.esbAmqp.publisher.class = net.unicon.grouper.changelog.esb.publisher.EsbAmqpPublisher
changeLog.consumer.esbAmqp.rabbitMqHostName = [PUT A HOSTNAME OF RabbitMq server here]
changeLog.consumer.esbAmqp.rabbitMqDefaultExchange = [PUT designated AMQP exchange name for grouper messages here]
Sample configuration files are log4j.properties and grouper-loader.properties
Unicon's work on the RabbitMQ ESB Publisher is funded through a project with the University of Hawaii.
These individuals have provided guidance through out the development process: