记录spring boot 异常处理

文章目录

  • TypeException: The alias ‘***‘ is already mapped to the value
  • nacos报错:Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily

TypeException: The alias ‘***‘ is already mapped to the value

这个异常通常表示在映射文件中出现了重复的别名定义

  1. 命名规范:在定义别名时,建议采用一致的命名规范。例如,使用首字母大写的驼峰命名法或者全小写的下划线命名法,这样可以避免不同开发人员或团队在命名时产生冲突。

  2. 预留前缀:可以在别名前加上特定的前缀,以示区分。例如,使用"DAO"作为DAO类的别名前缀,使用"DTO"作为DTO类的别名前缀。

  3. 维护文档:在团队内部或者团队之间共享映射文件时,及时更新并维护相关文档,明确列出已经使用的别名。这样可以避免多人重复定义别名的情况发生。

  4. 使用命名空间:如果存在多个团队共享同一个数据库的情况,可以使用不同的命名空间来隔离别名定义。这样每个团队可以在自己的命名空间内定义自己需要的别名,减少了别名冲突的可能性。

nacos报错:Nacos cluster is running with 1.X mode, can’t accept gRPC request temporarily

nacos集群启动的是2.0.3版本的,但是在服务启动去连接nacos时却抛错1.X,这是因为nacos集群中有节点挂掉了,导致服务降级
处理方案:重启nacos集群
如何避免出现nacos集群有节点挂掉导致的服务降级:关闭nacos双写
在2.0.3版本默认开启双写,关闭双写会关闭运行中服务降级的入口,所以在nacos集群运行稳定后可以了通过关闭双写的方式来避免服务降级的出现。

  1. nacos查看节点监控
curl -X GET 'nacos的ip:端口/nacos/v1/ns/upgrade/ops/metrics'

如果看到 isDoubleWriteEnabled = true,表示双写是开启的。

  1. nacos关闭双写
curl -X PUT 'nacos的ip:端口/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=false'
  1. 如果出现以下403抛错
"status":403,"error":"Forbidden","message":"unknown user!"

需要加上账号密码

curl -X PUT 'nacos的ip:端口/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=false&username=xx&password=xx'

显示ok,关闭双写成功

你可能感兴趣的:(java,spring,boot,java,数据库)