一、問題由來
啟動時報錯資訊如下:
Property Detector custom Bean not found with name 'encryptablePropertyDetector'
本地測試時,發現同樣的問題。
二、問題分析
把該問題對應的英文放在白髮翻譯裡面,翻譯結果如下,
未找到名為“encryptablePropertyDetector”的屬性檢測器自定義Bean。
自己初步判斷是配置檔案設定錯誤,比如nacos的配置錯誤,導致獲取不到配置,因此啟動時錯誤。
三、解決方案
自己在本地嘗試著修改nacos的配置,經過測試發現redis沒有啟動。
然後啟動redis之後,發現還是不能啟動。經過仔細排查,使用的配置是遠端連線的配置,不是本地的配置。
然後立馬修改,重啟啟動,服務啟動成功!
然後重新打包,將jar包上傳到伺服器,重新啟動服務,發現還是同樣的問題。這就很奇怪了,
本地可以正常啟動,伺服器上怎麼就不行呢?對於配置相關的內容,自己可以很肯定是沒問題。
伺服器上的nacos都已經正常執行起來,該修改的配置都已經全部修改完成。
最後自己突然想起一件事情,那就是nacos的配置修改之後,需要重新啟動,否則更改後的配置就不會生效。
然後自己重新啟動nacos,然後重新啟動服務。
服務終於啟動成功!
遇到的問題:
伺服器記憶體快達到100%之後,伺服器會拒絕連線,其他服務也不能正常使用,伺服器直接拒絕遠端連線。
最終只能重新啟動阿里雲伺服器。
然後修改問題,修改nacos啟動引數。
docker run --name=nacos -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -p 8848:8848 -v /opt/u01/exam/nacos/application.properties:/home/nacos/conf/application.properties -v /opt/u01/exam/nacos/logs:/home/nacos/logs -d 938169b118c7
新增這兩個引數:-e JVM_XMS=256m 表示jvm啟動時分配的記憶體;-e JVM_XMX=256m 表示jvm執行過程中分配的最大記憶體。
然後在重新啟動所有服務,整個伺服器可以正常執行。
參考部落格
https://blog.csdn.net/heyu996/article/details/132366586