最近項目需求利用消息中間件進行處理消息,使用的是springmvc的框架,在tomcat環境下啓動這個web項目。 預期:啓動項目的同時將rocketmq的消費者啓動,能夠對隊列中的消息進行處理。因此採用spring init-method 方法,在項目啓動時經過初始方法啓動消費者。 問題:因爲是消費者採用長輪詢的方式,致使init-method方法一塊兒沒法啓動完成,致使整個項目沒法啓動。 解決方案:給長輪詢設置一個開關鍵,啓動項目時默認關閉,不啓動長輪詢,項目天然就啓動了。對外部暴露兩個接口 用於對開關鍵進行操做,項目啓動後開啓開關,啓動消費者端,進行隊列消息處理。