Параллельный синхронный запрос -Ответ с помощью JMS/ActiveMQ -Шаблоны/библиотеки?

У меня есть веб-приложение -, в котором, когда пользователь отправляет запрос, мы отправляем сообщение JMS в удаленную службу, а затем ждем ответа. (Существуют также асинхронные запросы, и у нас есть различные тонкости, настроенные для воспроизведения сообщений и т. д., поэтому мы предпочли бы придерживаться JMS вместо, скажем, HTTP)

В Как реализовать ответ на запрос с помощью JMS? , ActiveMQ, кажется, не одобряет идею временных очередей для каждого запроса или временных потребителей с селекторами на JMSCorrelationID из-за накладных расходов, связанных с их запуском.

Однако, если я использую объединенные потребители для ответов, как мне отправить получателя ответов обратно в исходный запрашивающий поток?

Я, конечно, мог бы написать свой собственный поток -безопасный обратный вызов -регистрация/отправка, но я ненавижу писать код, который, как я подозреваю, уже написан кем-то, кто знает лучше меня.

Эта страница ActiveMQ рекомендует Lingo , который не обновлялся с 2006 года, и Camel Spring Remoting , который был забанен моей командой за множество ошибок.

Есть ли лучшее решение в виде библиотеки, реализующей этот шаблон, или в виде другого шаблона для имитации ответа на синхронный запрос -через JMS?


Связанный вопрос SO:

23
задан Community 23 May 2017 в 12:17
поделиться