Springboot项目启动异常排查
一、问题由来
启动时报错信息如下:
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