2016-08-11 3 views
0

Как я могу настроить приемник на следующее требованиевесна-AMQP один очереди несколько слушателей

У меня есть три задачи, которые будут слушать все ответы на одной очереди «replyQueue»

task1 
task2 
task3 

Каждый собирается чтобы отправить одно сообщение на Rabbit и будет ждать ответа на replyQueue

tASK1

 -send message 
     -wait for the responses 
     -There can be multiple responses 
       -status message 1 
       -status message 2 
       -final message 

task2

-send message 
    -wait for the responses 
    -There can be multiple responses 
      -status message 1 
      -status message 2 
      -final message 

Task3

-send message 
    -wait for the responses 
    -There can be multiple responses 
      -status message 1 
      -status message 2 
      -final message 

Теперь я должен выполнять различные задачи в зависимости от реакции. Как я могу настроить свои очереди и слушателей?

Я пытался со следующими

template.send("TaskQueue",message); 
Message response= template.receive("replyQueue"); 

, но это позволит мне читать только один ответ, но я хочу, чтобы прочитать несколько ответа для каждого TASK1

Пожалуйста, руководство.

ответ

0

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

Вы не можете использовать одну и ту же очередь ответа, если эти задачи выполняются одновременно - в противном случае задачи получат ответы друг друга - в этом случае вам нужна другая очередь ответов для каждого.

+0

Будет выполняться только одна задача за один раз, но с использованием только одного ответа replyQueue является моим требованием. –

+0

Итак, почему вы не можете просто выполнить несколько 'receive()' s? –

+0

Раньше я думал использовать MessageListener и метод onMessage() Но да, я добавил несколько receive(), и он отлично работает для меня. спасибо –

Смежные вопросы