比如在项目中,我们会把数据库连接信息和redis连接信息放在properties文件中,我想把这个文件里的连接信息变成动态,也不需要去重启服务就可以切换,如何实现?
properties
认证高级PHP讲师
Terdapat konfigurasi yang dipanggil Profile dalam Maven, yang boleh dikonfigurasikan secara berbeza untuk persekitaran yang berbeza.
<profiles> <profile> <id>dev</id> <properties> <db.driver>com.mysql.jdbc.Driver</db.driver> <db.url>jdbc:mysql://192.168.1.100:3306/test</db.url> <db.username>dev</db.username> <db.password>dev-pwd</db.password> </properties> </profile> //可定义多个profile,针对不同环境的不同id <profile> ... <profile> </profiles>
Gunakan baris arahan untuk menentukan konfigurasi berbeza berdasarkan Id Profil yang berbeza
mvn clean install -P dev
FYI http://stackoverflow.com/questions/14117117/dynamically-loading-properties-file-using-spring
<bean id="myProperties" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <!-- check property file(s) every 1 second --> <property name="cacheSeconds" value="1"/> <property name="basenames"> <list> <value>myApp/myApp</value> </list> </property> </bean>
有一个技术,叫做autoconfig的。你可以百度了解一下。 可以通过配置文件,配置测试环境、开发环境、线上环境,项目会根据不同的情况下,分别加载不同的配置文件。
Adalah mustahil untuk menukar pangkalan data yang disambungkan tanpa memulakan semula pelayan Anda boleh mendapatkan nilai maklumat sambungan, tetapi adalah mustahil untuk menukar pangkalan data lain secara dinamik
Kata kuncijrebel
jrebel
Terdapat konfigurasi yang dipanggil Profile dalam Maven, yang boleh dikonfigurasikan secara berbeza untuk persekitaran yang berbeza.
Gunakan baris arahan untuk menentukan konfigurasi berbeza berdasarkan Id Profil yang berbeza
Adalah mustahil untuk menukar pangkalan data yang disambungkan tanpa memulakan semula pelayan Anda boleh mendapatkan nilai maklumat sambungan, tetapi adalah mustahil untuk menukar pangkalan data lain secara dinamik
Kata kunci
jrebel