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.messagingSample.class = edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerToMessage
changeLog.consumer.messagingSample.quartzCron = 
changeLog.consumer.messagingSample.messagingSystemName = grouperBuiltinMessaging
changeLog.consumer.messagingSample.queueOrTopicName = sampleMessagingQueue
changeLog.consumer.messagingSample.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"}]}

See processed messages in the database

select * from grouper_message where queue_name = 'sampleMessagingQueue'
ID                               SENT_TIME_MICROS GET_ATTEMPT_TIME_MILLIS GET_ATTEMPT_COUNT STATE     GET_TIME_MILLIS FROM_MEMBER_ID                   QUEUE_NAME           MESSAGE_BODY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         HIBERNATE_VERSION_NUMBER ATTEMPT_TIME_EXPIRES_MILLIS 
-------------------------------- ---------------- ----------------------- ----------------- --------- --------------- -------------------------------- -------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------ --------------------------- 
7cb1e8275aa240f49556bd3b88da74c0 1459132920166000 1459133661441           2                 PROCESSED 1459133661588   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"event":[{"changeLogTypeId":"67911ea515f7480bb8aa363913bae196","contextId":"5cf984bf68eb4a4eac855bf8e517424f","createdOnDb":1459132860286000,"sequenceNumber":508,"changeLogTypeCategory":"attributeDefName","changeLogTypeAction":"addAttributeDefName","field_id":"bd2623bfcf3f439983a8741239e0a485","field_attributeDefId":"48194ee1d1fc490a8bf6cd519a4c569a","field_name":"etc:attribute:messages:grouperMessageQueues:sampleMessagingQueue","field_stemId":"4f6befbf61e845048949c69988e97335"}]}                                                                                                                                                                                                                               3                        1459133961434               
ce97a597391d49798e23a140d6330ce3 1459132920172000 1459133661448           2                 PROCESSED 1459133661620   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"event":[{"changeLogTypeId":"bb3dd51d5a3b443bb33a76d55e42169a","contextId":"5cf984bf68eb4a4eac855bf8e517424f","createdOnDb":1459132860291000,"sequenceNumber":509,"changeLogTypeCategory":"attributeDefNameSet","changeLogTypeAction":"addAttributeDefNameSet","field_id":"81ef12ff98c94c8980f78e128c07aa3a","field_type":"self","field_ifHasAttributeDefNameId":"bd2623bfcf3f439983a8741239e0a485","field_thenHasAttributeDefNameId":"bd2623bfcf3f439983a8741239e0a485","field_parentAttrDefNameSetId":"81ef12ff98c94c8980f78e128c07aa3a","field_depth":"0"}]}                                                                                                                                                                     3                        1459133961434               
77247f1d4fce47ec9f080319dfa73e64 1459132920177000 1459133661451           2                 PROCESSED 1459133661625   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"event":[{"changeLogTypeId":"79fc53db683646f5a72b33fb60cb0fde","contextId":"90eea5680b1a433ba02bf20ff50029f9","createdOnDb":1459132860469000,"sequenceNumber":510,"changeLogTypeCategory":"membership","changeLogTypeAction":"addMembership","field_id":"77700ab081514304a4054c28374c12fb","field_fieldName":"members","field_subjectId":"GrouperSystem","field_sourceId":"g:isa","field_membershipType":"flattened","field_groupId":"bd83c57c43e747b7b4055a29e51e7dce","field_groupName":"etc:attribute:messages:grouperMessageRole","field_memberId":"12cf184d43d342a49c6a28c8a45c39ff","field_fieldId":"48855dad8b58446fa9eee00dfd6ca211","field_subjectIdentifier0":"GrouperSystem"}]}                                          3                        1459133961434               
895f81c294ca4f079971e6bcf5b0cab8 1459132920180000 1459133661455           2                 PROCESSED 1459133661632   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"event":[{"changeLogTypeId":"0cb099fc58de4b4a9394c1fc26c30070","contextId":"42f07283e6ce4532accdf43324efa529","createdOnDb":1459132860546000,"sequenceNumber":511,"changeLogTypeCategory":"attributeAssign","changeLogTypeAction":"addAttributeAssign","field_id":"3482bb3e88274c71b3666fc72177e9de","field_attributeDefNameId":"bd2623bfcf3f439983a8741239e0a485","field_attributeAssignActionId":"daffb9d7a18a432da05839565d189969","field_assignType":"any_mem","field_ownerId1":"bd83c57c43e747b7b4055a29e51e7dce","field_ownerId2":"12cf184d43d342a49c6a28c8a45c39ff","field_attributeDefNameName":"etc:attribute:messages:grouperMessageQueues:sampleMessagingQueue","field_action":"send_to_queue","field_disallowed":"F"}]} 3                        1459133961434               
4a5a1beb858944b9aa0aa9d0890992ae 1459133700027000 1459133704353           1                 PROCESSED 1459133704361   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"event":[{"changeLogTypeId":"0cb099fc58de4b4a9394c1fc26c30070","contextId":"e737953184cc47ecb6e70fa78687998a","createdOnDb":1459133661347000,"sequenceNumber":514,"changeLogTypeCategory":"attributeAssign","changeLogTypeAction":"addAttributeAssign","field_id":"940bb9117c4246548aa0730bf1c7a907","field_attributeDefNameId":"bd2623bfcf3f439983a8741239e0a485","field_attributeAssignActionId":"7d282b660ef64bc68430a76c6d0d430c","field_assignType":"any_mem","field_ownerId1":"bd83c57c43e747b7b4055a29e51e7dce","field_ownerId2":"12cf184d43d342a49c6a28c8a45c39ff","field_attributeDefNameName":"etc:attribute:messages:grouperMessageQueues:sampleMessagingQueue","field_action":"receive","field_disallowed":"F"}]}       2                        1459133982960               
e6676fa3a57c4abda32f920548c8aeb8 1459133760042000 1459133761031           1                 PROCESSED 1459133761045   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"event":[{"changeLogTypeId":"79fc53db683646f5a72b33fb60cb0fde","contextId":"49cde92bee2c4199b0fb09e2273448e9","createdOnDb":1459133690988000,"sequenceNumber":515,"changeLogTypeCategory":"membership","changeLogTypeAction":"addMembership","field_id":"a4c4055c370147b69598c07090c237b6","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"}]}                                                                     2                        1459134048470               
8e589d06df4f4711b87cc47e5be63980 1459133760048000 1459133761035           1                 PROCESSED 1459133761055   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"event":[{"changeLogTypeId":"0d304c632bc34416a1f4fa3c7f4b11ef","contextId":"66d2635846b7480cb51a12df13febe49","createdOnDb":1459133696477000,"sequenceNumber":516,"changeLogTypeCategory":"membership","changeLogTypeAction":"deleteMembership","field_id":"a4c4055c370147b69598c07090c237b6","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"}]}                                                                  2                        1459134048470               
2dd2ee1aaf6c401db4752e43db64dda2 1459133520085000 1459133804943           2                 PROCESSED 1459133805059   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"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"}]}                                                                     3                        1459134083241               
8892f742ca2d49b28dd744cb4d9eba2d 1459133520090000 1459133804947           2                 PROCESSED 1459133805064   12cf184d43d342a49c6a28c8a45c39ff sampleMessagingQueue {"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"}]}                                                                  3                        1459134083241               
9 row(s) in 37 ms
  • No labels