You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Configure a message sender (change log format) in grouper-loader.properties

#####################################
## Messaging integration with change log
#####################################
# note, change "messagingSample" in key to be the name of the consumer.  e.g. changeLog.consumer.myAzureConsumer.class
changeLog.consumer.changeLogMessagingSample.class = edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerToMessage
changeLog.consumer.changeLogMessagingSample.quartzCron = 
changeLog.consumer.changeLogMessagingSample.messagingSystemName = grouperBuiltinMessaging
changeLog.consumer.changeLogMessagingSample.queueOrTopicName = sampleChangeLogMessagingQueue
changeLog.consumer.changeLogMessagingSample.messageQueueType = queue

As long as this is not edited in grouper-loader.properties, and the messagingSystemName is grouperBuiltinMessaging, the queue and privileges will be created:

#####################################
## Messaging overall settings for daemon jobs
#####################################
# auto create built in queues, topics, privileges
loader.messaging.settings.autocreate.objects = true

Make a messaging listener that will print out messages from that queue

#####################################
## Messaging listener using the messaging API
#####################################
# note, change "messagingListener" in key to be the name of the listener.  e.g. messaging.listener.myAzureListener.class
# extends edu.internet2.middleware.grouper.messaging.MessagingListenerBase
# this listener will just print out messages: edu.internet2.middleware.grouper.messaging.MessagingListenerPrint
#


messaging.listener.messagingListenerSample.class = edu.internet2.middleware.grouper.messaging.MessagingListenerPrint
messaging.listener.messagingListenerSample.quartzCron = 0 * * * * ?
messaging.listener.messagingListenerSample.messagingSystemName = grouperBuiltinMessaging
messaging.listener.messagingListenerSample.queueName = sampleMessagingQueue

Create events via GSH

GrouperSession grouperSession = GrouperSession.startRootSession();
Group group = new GroupSave(grouperSession).assignName("test:testGroup").assignCreateParentStemsIfNotExist(true).save();
addMember("test:testGroup", "GrouperSystem");
delMember("test:testGroup", "GrouperSystem");

See the output

Change log entry: membership -> addMembership, null
Change log entry: {"event":[{"changeLogTypeId":"79fc53db683646f5a72b33fb60cb0fde","contextId":"3acb507a84c34935b788e2f9c2c4b0bf","createdOnDb":1459133488055000,"sequenceNumber":512,"changeLogTypeCategory":"membership","changeLogTypeAction":"addMembership","field_id":"4c4dac01a91046059fdbaf209172ff5a","field_fieldName":"members","field_subjectId":"GrouperSystem","field_sourceId":"g:isa","field_membershipType":"flattened","field_groupId":"5b4f7610e2104aa295ddb58df237356f","field_groupName":"test:testGroup","field_memberId":"12cf184d43d342a49c6a28c8a45c39ff","field_fieldId":"48855dad8b58446fa9eee00dfd6ca211","field_subjectIdentifier0":"GrouperSystem"}]}
Change log entry: membership -> deleteMembership, null
Change log entry: {"event":[{"changeLogTypeId":"0d304c632bc34416a1f4fa3c7f4b11ef","contextId":"0a26c32974544c0995fd86ab39012ddc","createdOnDb":1459133493360000,"sequenceNumber":513,"changeLogTypeCategory":"membership","changeLogTypeAction":"deleteMembership","field_id":"4c4dac01a91046059fdbaf209172ff5a","field_fieldName":"members","field_subjectId":"GrouperSystem","field_sourceId":"g:isa","field_membershipType":"flattened","field_groupId":"5b4f7610e2104aa295ddb58df237356f","field_groupName":"test:testGroup","field_memberId":"12cf184d43d342a49c6a28c8a45c39ff","field_fieldId":"48855dad8b58446fa9eee00dfd6ca211","field_subjectIdentifier0":"GrouperSystem"}]}

  • No labels