這幾天由於阿里雲遷移到騰訊雲的緣由,原來服務器上的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 }