Solon v3.7.3

问题:remove 属性配置后,为什么没效果?

</> markdown
2025年12月15日 下午8:00:09

1、场景:

配置

redis:
  onOff: true
  config: |
    xxx...

删除后没有生效?!

Solon.cfg().remove("redis.onOff");

2、原因分析:

Solon 加载属性配置后,会同步到 Solon.cfg()System.getProperties()。且 Solon.cfg() 的父集合为 System.getProperties()

Solon.cfg() 移除后,当获取或查找时,会先从当前集合找(没有),再去父集合找(有)。所以出现了这个现象。

3、解决办法

双重删除

Solon.cfg().remove("redis.onOff");
System.getProperties().remove("redis.onOff");