The server provides resource-based HTTP for external configuration (name-value pairs or equivalent yaml content). the server can be @EnableConfigServer
easily embedded in the spring boot application using annotations. So this application is a configuration server:
Configserver.java
@SpringBootApplication@EnableConfigServerpublic class ConfigServer { public static void main(String[] args) { SpringApplication.run(ConfigServer.class, args); }}
like all spring boot applications running on the default port 8080, you can switch them to regular port 8888 in a variety of ways. The simplest is also to set a default configuration library, which is done by starting it spring.config.name=configserver
(there is one in the Config Server jar configserver.yml
). the other is to use your own application.properties
, for example
application.properties
server.port: 8888spring.cloud.config.server.git.uri: file://${user.home}/config-repo
${user.home}/config-repo
This is the Git repository that contains Yaml and properties files.
Attention |
In Windows, if the file URL is an absolute drive prefix, for example file:///${user.home}/config-repo , additional "/" is required. |
Tip |
Here's how to create a git repository in the example above: $ cd $HOME$ mkdir config-repo$ cd config-repo$ git init .$ echo info.foo: bar > application.properties$ git add -A .$ git commit -m "Add application.properties" |
Warning |
use the local file system for git repositories for testing only. Use the server to host the configuration library in a production environment. |
Warning |
If you keep only text files, the initial cloning of the configuration library will be quick and efficient. If you start to store binaries, especially large files, you may experience a delay in the first configuration request and/or out-of-memory error in the server. |
More information and source source
Introduction to Spring Cloud-config Server