Maven工程 服務提供方啟動時沒有Starting ProtocolHandler的 解決方法

打怪升級的菜雞發表於2018-08-20

在使用dubbox框架搭建分散式架構時,首先做了一個服務生產者和消費者的小demo,註冊中心使用正常,消費者可以正常呼叫生產者的物件和方法,但是真正構建工程時,

首先丟擲了log4j日誌沒有找到的 警告資訊,這是因為自己根本就沒有配置導致的,但是不以為然,就忽略了,

這裡寫圖片描述

但是隨後啟動生產者的伺服器時,卻始終沒有出現 Starting ProtocolHandler 的資訊,只有Initializing 的資訊,又不以為然,忽略了,結果啟動生產者伺服器訪問時,一直得到初始化異常,即生產者物件的依賴注入出現了問題, 但是之前沒有配置
log4j日誌檔案 ,一直看不到異常資訊,不知道哪裡出現了問題,最後先編寫log4j的配置檔案,在spring初始化的時候 加入初始化引數 最終看到了異常資訊,通常服務註冊失敗的可能原因有以下幾種:

  • 資料庫沒有連線成功
  • 註冊中心沒有連線成功
  • 逆向工程生成的mapper有問題,通過檢視日誌,最終發現確實是mapper丟擲了異常

問題和解決的思路如下:

這裡寫圖片描述

mapper包下面xml檔案的配置出現問題,應該是自己在複製xml檔案時更換包出現了錯誤,刪除所有的xml檔案後,重新複製正確的xml檔案後,問題得到解決。

總結

今天在這個問題上花費了一箇中午的時間,實在是浪費,總結起來,一開始的方向就走偏了,問題處在了Mapper的xml檔案的內容上,配置資訊出現了錯誤,應當進行xml檔案的更新,但是找了半天不能從註冊中心獲取方法的結局,當然沒有成功註冊也是一個原因。

血淚的教訓就是出問題一定要看 日誌檔案 好好看一下異常資訊,準確定位出錯的地方,然後進行結局 , 這次雖然看到了沒有日誌輸出配置的警告,但是自己因為懶忽略了,下次無論幹什麼,一定要做好日誌資訊的相關配置,否則出錯了都不知道去哪裡解決,如同無頭蒼蠅, 磨刀不誤砍柴工,log4j祝成功

相關文章