blob: dd2930b904e98b2bdf43052ca165ae6df4b0bc30 [file] [log] [blame]
= MicroProfile Config
:index-group: MicroProfile
:jbake-type: page
:jbake-status: published
This is an example on how to use microprofile config in TomEE.
== Run the application:
[source,bash]
----
mvn clean install tomee:run
----
== API
Within the application there are three ways to inject values using config
1 . For the ConfigProperty with default value call:
----
GET http://localhost:8080/mp-config-example/sample/defaultProperty
----
2 . For the get property inject with ConfigProperty call:
----
GET http://localhost:8080/mp-config-example/sample/injectedJavaVersion
----
3 . For the get property from Config with getValue call:
----
GET http://localhost:8080/mp-config-example/sample/javaVersion
----
== Config Feature
MicroProfile Config is a solution to externalise configuration from microservices.
Each individual property can be injected directly
[source,java,numbered]
----
@Inject
@ConfigProperty(name = "java.runtime.version")
private String javaVersion;
----
You can also set a default value for it, in case the config does not match the property in the context it will use the default value
[source,java,numbered]
----
@Inject
@ConfigProperty(name = "defaultProperty", defaultValue = "ALOHA")
private String defaultProperty;
----
The config object can also be injected. Then use the getValue() method to retrieve the individual property.
[source,java,numbered]
----
@Inject
private Config config;
@GET
@Path("javaVersion")
public String getJavaVersionPropertyFromSystemProperties() {
return config.getValue("java.runtime.version", String.class);
}
----