Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] Re: [tier-api] grouper rabbitmq messaging

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] Re: [tier-api] grouper rabbitmq messaging


Chronological Thread 
  • From: "Waldbieser, Carl" <>
  • To: Chris Hyzer <>
  • Cc: Julio Polo <>, TIER-API <>, grouper-users <>
  • Subject: Re: [grouper-users] Re: [tier-api] grouper rabbitmq messaging
  • Date: Tue, 12 Sep 2017 11:46:40 -0400 (EDT)
  • Ironport-phdr: 9a23:LSns8RLJtEyNhcKkxNmcpTZWNBhigK39O0sv0rFitYgXKv79rarrMEGX3/hxlliBBdydsKMUzbKO+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZPebgFLiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0vRz+s87lkRwPpiCcfNj427mfXitBrjKlGpB6tvgFzz5LIbI2QMvd1Y6HTcs4ARWdZUMhfVzJPDIC+YIsBEuQOMvpXoYb8p1UJsRuzHhWsCeHzxTNUnHL6wa833uI8Gg/GxgwgGNcOvWzaoNr1LqgSVf26w7LJzTrddPNZxy395JDVeR0/u/6MR7ZwfcTMwkQoGQLKlFGQppH+MDOUyOsCr3OW7+56WuKhkWEmqx9+oiSzxsgykIXGmJ8ayk3d+Ch/3Y07K9q4SEthbt6lFptdryCaN41qQsw8WWFovjg1yqEYtZKhYicF1YknywbQa/yGb4iI4g/jW/2LLThkg3JlfaqzhxGo8Ue61uL8Ute73ExWoSpCl9nBsG0G2R/L6sWfV/dw8EOs1SyS2w3c6OxIO104mbfBJ5I8wrM8i4IfvVnNEyLygkn6kaCbe0c+9uS16+nreKvqqoOBO4Nslw3zPKAjltaiDek3MAUCRXWX9fmm2LH+80D1XrNHheAsnKbDqpDVP8Ebq7a5AwBL1oYj7A6yDzK60NsCknQLNlZFdwiJj4fzO1DBPuz4DeuhjFi2jjhk2u3GMqXgApXLMHfDjK/scatz5kNY0gY/0N9S6pBOBr0cPf7/QFL9udzFAhMhNgy72efnCNFz1oMEXmKPB7eUMa3Ivl+M++0gOOiMa5EJtzvmL/gq/fDugmU5mFADYampwYUYZGqmEft7PkWVeWDsjcsZEWcWogo+S/TniEGDUTFNfXa+Rrgz5ik6CI+9CYfDR5utgKCa3CulBJFWZ2ZGCkySHnfycYWLResMZDyILsB/jzMESKCrS5U92hG2qA/6171nI/Lb+i0CspLjycB16PPJlR0r6Dx0FNqS03uWT2xvmmMIRiQ23LxkoUBj0FuD0K54g+BGGtxJ4fNGTBs6OYDGw+NkFt/yR1GJQtDcY1a8Q87uISAjQ8h5l9oFY1dvFs+KjwvImTeyDrkT0bGHGcpn3Ljb2i27GM95x3zH2bIslR1uacJVMSfu0rF28wTZBoPCu0GQma+7eLgA0WjA+HrVnjnGh11RTAMlCfaNZnsYfEaD6I2hvk4=

Chris,

The message is typically sent to an exchange rather than directly to a queue.
If the exchange uses routing keys at all, you need some way to apply a key.
There could be potentially a lot of different ways you might do this.

It might be nice if there was some kind of component you could plug in to
apply a route. In Julio's example that group-to-route mapping seems like a
valid way to do it.

The approach we took is different-- the initial message always has a route
key that looks like "ORIGIN.pds", where "ORIGIN" would be a tag unique to a
source system (e.g. "grouper") and "pds" is a tag for a component in our
pipeline that interprets messages from various sources, applies any
additional information to the messages, and applies a new route label based
on more complex routing rules.

In our case, the initial route label from Grouper would essentially be static.

Thanks,
Carl Waldbieser
ITS Systems Programmer
Lafayette College

----- Original Message -----
From: "Chris Hyzer"
<>
To: "Julio Polo"
<>
Cc: "TIER-API"
<>,
"grouper-users"
<>
Sent: Tuesday, September 12, 2017 9:19:56 AM
Subject: [grouper-users] Re: [tier-api] grouper rabbitmq messaging

So do you enable routing to that queue or it automatically sends to all group
queues or only if they exist?

________________________________
From: Julio Polo
<>
Sent: Tuesday, September 12, 2017 12:38:16 AM
To: Hyzer, Chris
Cc: TIER-API; grouper-users
Subject: Re: [tier-api] grouper rabbitmq messaging

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

-julio


On Sun, Aug 6, 2017 at 11:39 PM, Hyzer, Chris
<<mailto:>>
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



Archive powered by MHonArc 2.6.19.

Top of Page