one or more listeners failed to start
阿新 • • 發佈:2018-11-22
專案中集成了openoffice作為文件處理工具,今天找了一臺伺服器作為測試伺服器,想要搭建一個測試環境,jdk,openoffice,tomcat環境裝好之後,本地生成war包,放到伺服器上,啟動報錯,檢視 Catalina.out 檔案,顯示 one or more listeners failed to start。同時檢視 localhost日誌檔案,顯示spring在初始化時報錯。
之前在linux上部署服務時已經遇到過該問題,當時的原因是因為db.properties配置檔案中缺少必要的配置項,導致服務啟動失敗。更改db.properties配置檔案後即可。本次沿著上次的思路,檢查了配置檔案之後,發現沒有問題。但是服務啟動依然失敗。
於是在系統初始化的程式碼中增加列印語句,在spring初始化每一個有@table註解的實體類時,增加列印資訊,當列印到建立openoffice連線的實體類時,系統啟動終止,報錯。註釋建立openoffice的連線,重新啟動,服務一切正常。
伺服器上已經正常安裝了openoffice服務,手動使用 ps -ef |grep openoffice 來檢查也是有服務的,埠 8100 正常 ,chkconfig --list 也有openoffice服務。
在生產環境中也是同樣的環境,啟動服務,並沒有出現類似的問題,先記錄下問題的原因。
在此次的服務啟動中,也發現了有其他的小坑,實體類中的屬性如果是以小寫s、t開頭,系統在初始化時,會報沒有isXXX()方法,原先只是知道屬性不能以is來開頭,框架解析時會解析出錯。這種情況還沒有遇見過,明天對spring原始碼除錯一下。先記錄下問題。