2013-03-04 32 views
1

我必須在spring和rabbitmq開發一個應用程序。這對我來說是新的,我根本沒有太多經驗。spring rabbitmq application:console或web

基本上該應用必須:

  • 不斷檢查數據庫,如果有一些變化發送 消息到一個確定的隊列。

  • 收聽一些隊列並回復一些數據。

所以我的問題是你會選擇做什麼,這個應用程序,基於控制檯的應用程序或基於Web的應用程序。爲什麼?

ps:對不起,如果我的英語不好。

+0

爲什麼要求泉水?你可以寫一個獨立的Java應用程序讀/寫入兔子並與數據庫交互?使它成爲一個網絡應用程序會有什麼收穫?似乎沒有通過http/soap進入請求。 – Snake 2013-03-04 05:49:46

回答

0

如果您只想檢查數據庫並將消息發送到rabbitmq隊列並回復一些數據,那麼我建議您僅使用控制檯應用程序。您可以將該應用程序作爲獨立服務運行。 Spring已經與RabbitMQ進行了整合。

我們已經在使用Spring-RabbitMQ在我們的應用程序中執行一些繁重的計算,這是由另一個應用程序完成的。所以我們將計算應用程序作爲獨立的控制檯應用程序運行,並且此應用程序監聽到達Rabbit MQ的消息。

如果您想要遠程監視此過程,則需要Web應用程序。像例如您需要查看到達的消息類型,然後根據輸入消息進行回覆,並且您需要遠程完成所有消息,則需要一個Web應用程序。否則,保持它簡單的控制檯應用程序您也可以使用Maven等構建工具來測試控制檯應用程序。希望這會有所幫助

0

無論您是將其編寫爲控制檯應用程序還是Web應用程序,它們對您實際執行數據庫檢查和消息發送的方式都沒有或幾乎沒有影響。如果這就是你要求的,那沒關係。

獨立與Web應用程序的選擇受其他因素影響,比如您將如何部署應用程序,其他開發人員(如果有其他人正在與您一起工作)有多熟悉,是否正在構建和運行獨立應用程序與webapps以及在開發中運行和測試應用程序的工具支持。我個人認爲我會選擇一個Web應用程序,因爲整個世界都在編寫webapps,所以在構建,測試和部署它們方面已經積累了大量的支持。您傾向於更好地支持從Maven和Gradle等構建工具測試webapps,儘管看起來Gradle縮小了或縮小了這個差距。您還可以獲得一個免費的遠程界面,該界面現在實際上是一種通用語言(HTTP),可讓您從任何地方輕鬆獲得應用程序。