Bootstrapping Spring Cloud Config Server MongoDB
Bootstrapping a configuration server with Spring Cloud Config Server MongoDB is just a matter of three steps. Learn what they are and look at a usage example!
Spring Cloud Config Server MongoDB enables the seamless integration of the regular Spring Cloud Config Server with MongoDB to manage external properties for applications across all environments.
A Simple Config Server
Bootstrapping a configuration server with Spring Cloud Config Server MongoDB is just a matter of the following three steps.
Configure your
pom.xml:<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server-mongodb</artifactId> <version>0.0.2.BUILD-SNAPSHOT</version> </dependency> </dependencies> <repositories> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/libs-snapshot-local</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> <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>Create a standard Spring Boot application with the
EnableMongoConfigServerannotation:@SpringBootApplication @EnableMongoConfigServer public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }Configure the application's
spring.data.mongodb.*properties inapplication.yml:spring: data: mongodb: uri: mongodb://localhost/config-db
Usage
We can now add configuration documents to MongoDB and access it via the REST API.
Add configuration documents to MongoDB:
use config-db; db.gateway.insert({ "label": "master", "profile": "prod", "source": { "user": { "max-connections": 1, "timeout-ms": 3600 } } });Access it by invoking
http://localhost:8080/master/gateway-prod.properties:user.max-connections: 1.0 user.timeout-ms: 3600.0
Spring Cloud Config Client-backed components can be configured to automatically load configuration from MongoDB by leveraging Spring Cloud Config Server MongoDB. See here for an example!
Like it? Give the project a star on GitHub. You can also comment below. All feedback is welcome!
Opinions expressed by DZone contributors are their own.