Search code examples
javarabbitmqspring-cloud-stream

Spring cloud stream to support routing messages dynamically


i want to create a common project (using spring cloud stream) to route messages to different (consumer) projects dynamically according to message content. (rabbitmq as the message broker)

does spring cloud stream support it? if not, any proposed way to accomplish that? thx


Solution

  • You can achieve that by setting spring.cloud.stream.dynamicDestinations property to a list of destination names (if you know the name beforehand) or keeping it as empty. The BinderAwareChannelResolver takes care of dynamically creating/binding the outbound channel for these dynamic destinations.

    There is an out of the box router application available which does the similar thing.