1. 程式人生 > >springmvc整合rocketmq,在tomcat下啟動導致卡死

springmvc整合rocketmq,在tomcat下啟動導致卡死

最近專案需求利用訊息中介軟體進行處理訊息,使用的是springmvc的框架,在tomcat環境下啟動這個web專案。

預期:啟動專案的同時將rocketmq的消費者啟動,可以對佇列中的訊息進行處理。所以採用spring init-method

          方法,在專案啟動時通過初始方法啟動消費者。

問題:由於是消費者採用長輪詢的方式,導致init-method方法一起無法啟動完成,導致整個專案無法啟動。

解決方案:給長輪詢設定一個開關鍵,啟動專案時預設關閉,不啟動長輪詢,專案自然就啟動了。對外部暴露兩個介面

         用於對開關鍵進行操作,專案啟動後開啟開關,啟動消費者端,進行佇列訊息處理。