We are all aware of the rise of asynchronous and reactive programing paradigms. Java has already started catching up with other newer languages like Java Script, Go, Python,… that supports this natively. Starting with Java 9 there is possibility support for Reactive Streams. Unfortunately the shift with Java is always slower than expected.
We had a need to expose JVM parameters and other application specific metrics for monitoring.
Altering the code was not an option as we needed a systematic solution to deploy on all our servers without rewriting all projects.