2013-08-19 2 views
0

У меня есть требование, когда клиент отправляет HTTP-запросы, наше приложение обрабатывает его и генерирует ответ и отправляет ответ HTTP. Запрос и ответ должны сохраняться в очередях JMS. Для того чтобы мы могли использовать интеграцию Spring в этом сценарии, можем ли мы использовать пружинные интеграционные HTTP-шлюзы вместо наших текущих контроллеров MVC? Мне нужны отдельные шлюзы для каждого разного картографирования uri? Может ли HTTP-шлюз быть интегрирован с каналами JMS? Я бы оценил некоторые идеи по архитектуре высокого уровня, используя Spring Integration для этого сценария.Spring Integration - HTTP-шлюз и JMS

Спасибо.

ответ

0

Самый быстрый на рампе, вероятно, будет вводить Messaging Gateway (<gateway/>) в существующий контроллер; если вы просто архивируете запрос/ответ, вам просто нужен простой метод шлюза, который возвращает void и в потоке интеграции с пружиной, подключите <gateway/> к <jms:outbound-channel-adapter/>.

+0

Спасибо, Гэри. Однако предположим, что необходимо заменить контроллеры MVC на HTTP-шлюзы, можно ли было бы интегрировать их с каналами JMS или мне все еще понадобится jms: адаптер исходящего канала? А также, как сопоставить несколько URL-адресов в одном и том же определении шлюза? – user2680225

+0

Да, вы можете заменить контроллеры шлюзами; вы не можете в настоящее время отображать несколько URL-адресов на один и тот же шлюз, но несколько шлюзов могут отправлять сообщения в один и тот же канал. Обычно вы не используете для этого каналы с поддержкой jms; они обычно используются для обеспечения стойкости в точках внутри потока СИ. Для межпроцессного взаимодействия (или общей JMS-активности) вместо этого вы обычно используете адаптеры каналов. –

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