Spring Cloud Stream - публиковать и использовать из одной очереди с одним и тем же ключом маршрутизации с разными заголовками - PullRequest
0 голосов
/ 19 декабря 2018

Производитель

exchange name : xyz,
exchange type: direct,
queue: myqueue,
routingkey : myroutingkey,

производитель может отправлять различные типы объектов в очередь, но для различения ч / б объектов он отправит заголовок ['type'] = 'type1'вместе с «myroutingkey», который уже связан с очередью.

send message  : myroutingkey + header[type] = type1 to queue: 
myqueue

send message : myroutingkey + header[type] = type2 to queue: 
myqueue

Потребитель

@StreamListner1 - consume type1 message from queue: 
myqueue with routingkey : myroutingkey

@StreamListner2 - consume type2 message from queue: 
myqueue with routingkey : myroutingkey

Я использую Rabit MQ для достижения вышеуказанного требования.

Вышеупомянутое требование возможно сделать с весенним облачным потоком. Если возможно, что нужно сделать со стороны издателя и потребителя. Приведите мне пример.

1 Ответ

0 голосов
/ 19 декабря 2018

Да, это возможно при использовании атрибута condition в @StreamListener.Например,

@StreamListener(target = Sink.INPUT, condition = "headers['type']=='bogey'")

Подробности здесь .

...