我想問兩個關於Spring Cloud Config的問題。配置Spring Cloud配置
1)是否有可能做春雲配置服務器的實現恢復基本的MongoDB的屬性,而不是混帳?
2)的春雲配置客戶端安裝時,會自動在春雲配置服務器在所有權變更更新?
謝謝!
我想問兩個關於Spring Cloud Config的問題。配置Spring Cloud配置
1)是否有可能做春雲配置服務器的實現恢復基本的MongoDB的屬性,而不是混帳?
2)的春雲配置客戶端安裝時,會自動在春雲配置服務器在所有權變更更新?
謝謝!
@Scheduled
調用 RefreshEndpoint.refresh()
的間隔的基礎上。不確定約1. 對於2)你有春天雲總線,當你在配置服務器進行更改時,可以自動向所有客戶端提供推送通知。 http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html
以下需要: 1的RabbitMQ/Redis的本地 2.運行添加在配置服務器POM XML這種依賴性。使用Brixton.M5構建。
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<!-- <version>Brixton.BUILD-SNAPSHOT</version> -->
<version>Brixton.M5</version>
<relativePath />
</parent>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-monitor</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
3.使用除了彈簧配置客戶端依賴公交車的依賴,你可能已經擁有:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
4 POST] http://localhost:?/監控路徑= - 這應該推送通知給客戶。或者,您可以使用github webhook自動發佈文件發生更改的位置。
你可以參考後here
春雲配置服務器MongoDB是現在Github可用。
要啓動並運行所有您需要做的就是添加如下的maven配置,將@EnableMongoConfigServer
添加到您的Spring Boot應用程序配置中,並配置所需的spring.data.mongodb.*
屬性。通過http://localhost:8080/master/appname-prod.properties
db.appname.insert({
"label": "master",
"profile": "prod",
"source": {
"user": {
"max-connections": 1,
"timeout-ms": 3600
}
}
});
和訪問他們獲得這樣的迴應:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server-mongodb</artifactId>
<version>0.0.1.BUILD-SNAPSHOT</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>ojo-snapshots</id>
<name>OJO Snapshots</name>
<url>https://oss.jfrog.org/artifactory/libs-snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
然後,您可以配置文檔添加到MongoDB的這樣
user.max-connections: 1.0
user.timeout-ms: 3600.0
UPDATE 我們有升級爲spring-cloud-config-server-mongodb以使用spring-boot 1.5.7快照。
我建議這個混帳projecto做到這一點:https://github.com/spring-cloud-incubator/spring-cloud-config-server-mongodb
2.首先,後讓所有的變化,@RefreshScope標記添加到您的休息控制器,如果你沒有它,像這樣:
@RefreshScope
@RestController
class MessageRestController {
@Value("${message:Hello default}")
private String message;
@RequestMapping("/message")
String getMessage() {
return this.message;
}
接下來,您需要發送一個空HTTP POST到客戶端的刷新端點這樣的:
http://localhost:8080/refresh
注意:您可以在瀏覽器中使用RESTclient插件或POSTMAN來執行此操作。
最後探索新的消息在幾秒鐘後http://localhost:8080/message
注:這個例子是使用默認配置客戶端...
的答覆首先感謝,說到我的另外兩個疑點。 *** 1)***我如何取消在創建bean ** ConfigServerConfiguration $ GitRepositoryConfiguration **時創建的錯誤,因爲我不會使用它來取消。 *** 2)***我如何在我的mongodb案例中創建一個自定義的** EnvironmentRepository **。 –
查看這兩個鏈接尋求幫助:https://github.com/spring-cloud/spring-cloud-config/blob/master/spring-cloud-config-server/src/main/java/org/springframework/cloud/ config/server/ConfigServerConfiguration.java#L69-L79和https://github.com/spring-cloud/spring-cloud-config/blob/master/spring-cloud-config-server/src/main/java/org/ springframework/cloud/config/server/SvnKitEnvironmentRepository.java基本上,你可以使用不同的配置文件運行配置服務器,創建一個'EnvironmentRepository'的bean,就像其他人爲svn所做的那樣。 – spencergibb