disconf的簡單使用與遠程配置更改成使用本地配置

這幾天由於阿里雲遷移到騰訊雲的緣由,原來服務器上的disconf再也不使用了。在這段時間裏,系統出現的bug很難尋找緣由(項目起不來),如今想要把disconf遠程配置更改爲直接使用本地配置。首先,瞭解一下disconf的使用:看官方文檔,前兩節就差很少了java

disconf官方文檔:https://disconf.readthedocs.io/zh_CN/latest/redis

你能夠從上面的連接中另外打開一個窗口,方便閱讀。從官方文檔能夠看出,遠程配置更改成本地配置基本不須要改動什麼代碼,只須要將下面屬性設置爲false便可disconf.enable.remote.conf=false。很簡單。spring

而我在啓動時初始化redis沒有讀取到redis配置文件,也能夠使用下面的方法來使用Spring的Bean從配置中注入值到實體類中:服務器

redis.propertiesthis

sharded.redis.hosts=10.202.114.65:9156,10.202.114.65:9157,10.202.114.65:9158
sharded.redis.masters=ISS
sharded.redis.type=SENTINEL
sharded.redis.password=

spring配置文件中增長一個bean:阿里雲

<bean id="redisSettings" class="com.sf.dds.znfj.config.RedisSettings">
  <property name="shardedHosts" value="${sharded.redis.hosts}" />
  <property name="shardedPassword" value="${sharded.redis.password}" />
  <property name="connectionTimeout" value="${redis.connectionTimeout}" />
  <property name="soTimeout" value="${redis.soTimeout}" />
  <property name="maxAttempts" value="${redis.maxAttempts}" />
</bean>

RedisSettings:code

@Service
@DisconfFile(filename = "redis.properties")
public class RedisSettings {

    private int connectionTimeout;

    private int soTimeout;

    private int maxAttempts;

    private String sortPassword;

    private String shardedPassword;

    @DisconfFileItem(name = "sharded.redis.hosts", associateField = "shardedHosts")
    public String getShardedHosts() {
        return shardedHosts;
    }

    public void setShardedHosts(String shardedHosts) {
        this.shardedHosts = shardedHosts;
    }
    //省略其餘set/get
}
相關文章
相關標籤/搜索