grouper-users - [grouper-users] Re: [tier-api] grouper rabbitmq messaging
Subject: Grouper Users - Open Discussion List
List archive
- From: Julio Polo <>
- To: "Hyzer, Chris" <>
- Cc: TIER-API <>, grouper-users <>
- Subject: [grouper-users] Re: [tier-api] grouper rabbitmq messaging
- Date: Mon, 11 Sep 2017 18:38:16 -1000
- Ironport-phdr: 9a23:j/JBgh/J/D1PIf9uRHKM819IXTAuvvDOBiVQ1KB30OIcTK2v8tzYMVDF4r011RmSDNWds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2e2//57ebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMMvrRr42RDui9b9mRx3miCkHOTA383zZhNJsg69Auh2tuwZyzpTIbI2JNvdzeL7Wc9MARWpGW8ZcTyhPAp64b4sOCOoKIPxWr475p1sJsBCzAgusBP7ryj9JgX/7xq063P4vEA7c3QwgHsgCv2rJo9XoLaofV/2+wqfPzTXGdfxW2DH95ZDJchAnvfGDQ6hwcczPxkkzCQ/JlEufppH4Pz+N2eQNsnSb7+p9Ve20kWIotwZxoj23yscrkInGnJ4aylTa+ilj3Ik1Iti4RUhmatCnCJtdrz+WOopqTs4gRmxotiU3xaYatZO+cyUG1IgrywPaZvObb4SH+RfuWeOPLTp2mn5ofq+0iQyo/ki60OL8U9G50FZUoSpBldnBrnUN2AbS6siDU/d9/1uh1SqW2wHc9O1JL144mbDUK54mxb4wmZ4TvlrZEiDqn0X2ibeadkQi+ue29+Tqeqvqq56AO4J2jwz+PKcjldejDek9PQUCQ3SX9fm52bL/4UH2W7BHg/gonqTXrpzWPcEbqbS4Aw9R3IYj8RG/DzK+3dQagHkHKFNFeBWcgojpIV7PLur3Dfa+g1i2jjhk2u3GMqX7AprRNnjDjKvhfbFl5k5T0gozys1f54pKBbEbOf7zR1Txu8LCDh8iKAG0x+fnCM5h1oMFR26DGK6ZMKXOsVCW/OIvJfeDZJMLtDrnNfcq+uPu3jcFngpXXbi70IFTIFu4BPV9aQ3NZHHsk8UMC08LpQF4UfTnjlvEXDJOMSWcRaU5sxMmDIOhRb/EQofl1L6c2Ca8Np1feWlHCxaBHWq+JNbMYOsFdC/HepwpqTcDT7X0E4I=
Great to see that Grouper will natively support RabbitMQ. Can it support a feature to map a groupName into a message routing key used when publishing the message? This would make it easier for applications to get only the messages they want.
For example, if the groupName in the JSON is "student:registration:2017:fall:math:101", a default rule that replaces colons with periods will automatically give me the message routing key student.registration.2017.fall.math.101. If I only wanted to get messages for MATH registration groups, I can set up a queue with this binding: student.registration.#.math.#
This groupName-to-message-routing-key mapping is a feature that is currently supported in the Grouper-RabbitMQ work that Unicon did for us:
https://github.com/Unicon/grouper-amqp-esb-publisher
# SpEL-based regex replacement definition. The chain of 'replaceFirst' method calls will be applied to an extracted group name (String) at runtime
# See: http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceFirst(java.lang.String,%20java.lang.String)
changeLog.consumer.esbAmqp.regexReplacementDefinition = replaceFirst('^hawaii.edu:', 'group.modify.').replaceFirst('(:enrolled|:waitlisted|:withdrawn)$', '')
changeLog.consumer.esbAmqp.replaceRoutingKeyColonsWithPeriods = true
For example, if the groupName in the JSON is "student:registration:2017:fall:math:101", a default rule that replaces colons with periods will automatically give me the message routing key student.registration.2017.fall.math.101. If I only wanted to get messages for MATH registration groups, I can set up a queue with this binding: student.registration.#.math.#
This groupName-to-message-routing-key mapping is a feature that is currently supported in the Grouper-RabbitMQ work that Unicon did for us:
https://github.com/Unicon/grouper-amqp-esb-publisher
# SpEL-based regex replacement definition. The chain of 'replaceFirst' method calls will be applied to an extracted group name (String) at runtime
# See: http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceFirst(java.lang.String,%20java.lang.String)
changeLog.consumer.esbAmqp.regexReplacementDefinition = replaceFirst('^hawaii.edu:', 'group.modify.').replaceFirst('(:enrolled|:waitlisted|:withdrawn)$', '')
changeLog.consumer.esbAmqp.replaceRoutingKeyColonsWithPeriods = true
On Sun, Aug 6, 2017 at 11:39 PM, Hyzer, Chris <> wrote:
Making progress on Grouper RabbitMQ messaging.
https://spaces.internet2.edu/
display/Grouper/Grouper+ Messaging+with+RabbitMQ
Got the configuration ironed out, made a rabbitmq-connector tarball, theres a patch and snapshot client release since it needed some things, and the grouperInstaller will install this component.
Still kicking the tires here...
Thanks
Chris
- [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Julio Polo, 09/12/2017
- [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Hyzer, Chris, 09/12/2017
- Re: [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Waldbieser, Carl, 09/12/2017
- RE: [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Hyzer, Chris, 09/12/2017
- Re: [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Julio Polo, 09/12/2017
- RE: [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Hyzer, Chris, 09/12/2017
- Re: [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Waldbieser, Carl, 09/12/2017
- [grouper-users] Re: [tier-api] grouper rabbitmq messaging, Hyzer, Chris, 09/12/2017
Archive powered by MHonArc 2.6.19.