Hocon Configuration Format
The Hocon Configuration Format extends the Vert.x Configuration Retriever and provides the support for the HOCON format.
It supports includes, json, properties, macros…
Using the Hocon Configuration Format
To use the Hocon Configuration Format, add the following dependency to the dependencies section of your build descriptor:
-
Maven (in your
pom.xml
):
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-config-hocon</artifactId>
<version>5.0.0.CR2</version>
</dependency>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-config</artifactId>
<version>5.0.0.CR2</version>
</dependency>
-
Gradle (in your
build.gradle
file):
compile 'io.vertx:vertx-config:5.0.0.CR2'
compile 'io.vertx:vertx-config-hocon:5.0.0.CR2'
Configuring the store to use HOCON
Once added to your classpath or dependencies, you need to configure the
ConfigRetriever
to use this format:
ConfigStoreOptions store = new ConfigStoreOptions()
.setType("file")
.setFormat("hocon")
.setConfig(new JsonObject()
.put("path", "my-config.conf")
);
ConfigRetriever retriever = ConfigRetriever.create(vertx,
new ConfigRetrieverOptions().addStore(store));
You just need to set format
to hocon
.
Override configuration using system environment variables
Hocon supports system environment variable overrides using keys with CONFIG_FORCE_
prefix. You can use this feature by specifying hocon.env.override
to true
in the configuration:
ConfigStoreOptions store = new ConfigStoreOptions()
.setType("file")
.setFormat("hocon")
.setConfig(new JsonObject()
.put("hocon.env.override", true)
.put("path", "my-config.conf")
);
ConfigRetriever retriever = ConfigRetriever.create(vertx,
new ConfigRetrieverOptions().addStore(store));