You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tamaya.apache.org by Werner Keil <we...@gmail.com> on 2016/10/12 11:26:59 UTC

Type-safety

All,

While many ideas in Dmitry's JavaOne presentation on configuration were
heavily inspired by Tamaya, at least a few methods like getProperty() also
feel quite similar to Spring Config.

On one hand, Microprofile strictly denies trying to standardize things and
those involved in some discussions try to brush all relations to the JCP
aside. On the other hand we see a lot of suggestions for a potential Spec
Lead and similar threads around configuration.
Bean Validation (JSR 380) Spec Lead Gunnar Morling added another facette to
it:
https://github.com/gunnarmorling/mp-config-proposal

While Mark's first attempt was no more than java.util.Properties over CDI,
he also pimped up his earlier approach to feel more like Tamaya does.
Gunnar's aim at type-safety looks closest to how Spring does it, but given
Spring was also undeniably the biggest inspiration to DeltaSpike, you
should find one or the other aspect of it there.

Tamaya offers type-safety that's for sure. With a large number of
configuration sources being based on some kind of "textual form", whether
it's JSON, YAML, XML, INI or Properties files, the way it does is through
marshaling or serialization, similar to JSON-B or JAX-B.

Some config frameworks including Spring have either a generic storage
definition or a Java Object involving casts to the actual type. A few
others e.g. Dropwizard don't even use a config storage type (like the
Tamaya Configuration interface) instead either through inheritance, marker
interfaces (similar to Serializable), annotations or a combination of these
they use POJO beans with getter methods to retrieve and/or set config
values. A few especially Spring offer 2 or 3 of these mechanisms in
parallel.

What are your thought on this?

Werner