Repository: deltaspike Updated Branches: refs/heads/master 403c0b79b -> 172983ff1
add documentation about how to work with dynamically changing config Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/172983ff Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/172983ff Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/172983ff Branch: refs/heads/master Commit: 172983ff14c5ec2182d438640fd0a9f6f1bf36fe Parents: 403c0b7 Author: Mark Struberg <[email protected]> Authored: Wed May 18 19:11:07 2016 +0200 Committer: Mark Struberg <[email protected]> Committed: Wed May 18 19:11:55 2016 +0200 ---------------------------------------------------------------------- .../src/main/asciidoc/configuration.adoc | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/172983ff/documentation/src/main/asciidoc/configuration.adoc ---------------------------------------------------------------------- diff --git a/documentation/src/main/asciidoc/configuration.adoc b/documentation/src/main/asciidoc/configuration.adoc index d59b85d..89f199c 100644 --- a/documentation/src/main/asciidoc/configuration.adoc +++ b/documentation/src/main/asciidoc/configuration.adoc @@ -223,6 +223,28 @@ public class CustomDateConverter implements ConfigResolver.Converter<Date> { } ------------------------------------------------------------------------------------------ +==== Dynamic Reloading + +The TypedResolver can also be used to efficiently cache configured values. +That way you can pick up configuration which might get changed during runtime on the fly. +E.g. if you have a ConfigSource which picks up the values from a database table. +Instead of resolving the configured value at the beginning you simply invoke `.getValue()` on your TypedResolver each time you need the value. + +.Working with dynamically changing values +[source,java] +----------------------------------------------------------------- +private ConfigResolver.TypedResolver<String> urlConfig + = ConfigResolver.resolve("myapp.some.remote.rest.url") + .logChanges(true) + .cacheFor(TimeUnit.MINUTES, 5); + +... + +connecTo( urlConfig.getValue() ); +----------------------------------------------------------------- +The sample above will log any value changes in the configuration (`logChanges(true)`) and internally cache the configured value for 5 minutes (`cacheFor(TimeUnit.MINUTES, 5)`). +Only after that time the configured value will get evaluate again. + === Injection of configured values into beans using @ConfigProperty DeltaSpike provides a way to inject configured values into your code via the qualifier `@ConfigProperty`.
