2011-11-23 73 views
0

我對tomcat + spring有相當多的經驗,但是我沒有對消息隊列做過任何事情。我想知道在生產者和消費者在不同的機器上的生產環境中,人們通常如何設置包含tomcat + jms(active mq)+ spring的堆棧。針對JMS + tomcat + spring的典型部署

把生產者放在一個精簡的spring-mvc應用程序中看起來很自然,也就是從http請求中取出請求體,做一些驗證併發布到隊列中。如果消費者在同一臺機器上,我可以想象一個簡單的設置,其中消費者bean在同一個spring容器中實例化,並且它只是從請求中執行異步。

但是,如果消費者在不同的盒子上,它通常如何管理?它只是一個命令行java程序運行一個彈簧容器(並可能以某種方式守護進程)?或者它通常在tomcat容器中運行,即使它可能不提供頁面?或者我不知道的其他方式?

回答

0

我一直使用它的方式是的Tomcat =客戶端時,JBoss AS =服務器,但坦率地說我會避免JBoss的,除非它是提供別的東西,你真正需要的。

「輕量級」(和更好的,恕我直言)方法將是另一個運行的Spring應用程序的Tomcat實例。雖然它可能不會提供任何「公共」頁面,但擁有一個或兩個管理頁面可能最終對於運行時監控和較小的配置調整而言具有無法估量的價值。

+0

好,所以你說是運行在tomcat(?)這是我的想法,但只是想檢查。我試圖避免一個完整的應用程序服務器,如果可能的話...... – Kevin

+0

是的。你將獲得更快的啓動速度,更不用說出錯了,而且環境的一致性會使開發變得更容易(在開發過程中,您可以在本地Tomcat上同時運行客戶端和服務器!) – millhouse