New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for multiple bindings per queue #33

art11s opened this Issue May 17, 2013 · 0 comments


None yet
1 participant

art11s commented May 17, 2013

I've just completed a project migrating our applications from ActiveMQ to RabbitMQ. The most challenging part was replicating the functionality of jms selectors. Here are some of the selection rules that we had:
key IN (value1, value2...)
key1 IN (value1...) AND key2 IN (value1...) AND....

I've implemented this using Headers exchanges with multiple bindings per queue. Theoretically, any sql based selector can be decomposed into a combination of key/value pairs where each combination corresponds to a binding. For example the following routing key:
key1=value1|key1=value2&key2=value1|key2=value2 would result in 4 bindings:
key1=value1&key2=value1, key1=value2....

I added support for these use cases in SpringAMQPConsumer (see the code here: Are you interested in adding this functionality to the project?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment