我对tomcat+spring的经验还是比较多的,但是对于消息队列我还没有做过。我想知道人们通常如何在生产者和消费者位于不同机器上的生产环境中设置包含 tomcat+jms (active mq)+spring 的堆栈。
将生产者放在精简的 spring-mvc 应用程序中似乎很自然,即从 http 请求中获取请求主体,进行一些验证,然后发布到队列中。如果消费者在同一台机器上,我可以想象一个简单的设置,其中消费者 bean 在同一个 spring 容器中实例化,它只是根据请求执行异步。
但是如果消费者在不同的盒子上,它通常是如何管理的?它只是一个运行 spring 容器的命令行 java 程序(并且可能以某种方式被守护进程)?或者它是否通常在 tomcat 容器内运行,即使它可能不提供任何页面?还是我不知道的其他方式?
最佳答案
我一直使用它的方式是 Tomcat = 客户端,JBoss AS = 服务器,但坦率地说,我会避免使用 JBoss,除非它提供了您真正需要的其他东西。
“轻量级”(而且更可取,恕我直言)方法将是另一个运行 Spring 应用程序的 Tomcat 实例。尽管它可能不提供任何“公共(public)”页面,但拥有一两个管理页面可能最终对于运行时监控和微小的配置调整非常宝贵。
关于java - JMS+tomcat+spring的典型部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8250397/