У меня довольно большой опыт работы с tomcat + spring, но я ничего не делал с очередями сообщений. Мне интересно, как люди обычно устанавливают стек, который включает tomcat + jms (active mq) + spring в производственной среде, где производитель и потребитель находятся на разных машинах.
Кажется естественным поместить производителя в урезанное приложение spring-mvc, то есть взять тело запроса из http-запроса, выполнить некоторую проверку и отправить в очередь. Если потребитель находится на той же машине, я могу представить простую установку, в которой потребительский компонент создается в том же контейнере Spring, и он просто выполняет асинхронный запрос.
Но если потребитель находится в другом окне, как это обычно делается? Это просто Java-программа командной строки, запускающая контейнер Spring (и, вероятно, каким-то образом демонизированная)? Или он обычно запускается внутри контейнера Tomcat, хотя, скорее всего, он не обслуживает страницы? Или каким-то другим способом, о котором я не знаю?