Netflix / archaius

Library for configuration management API
Apache License 2.0
2.46k stars 485 forks source link

Archaius2' @Configuration annotation clashes with Spring's org.springframework.context.annotation.Configuration #716

Open rgallardo-netflix opened 5 months ago

rgallardo-netflix commented 5 months ago

Use of Archaius2 in Spring applications is hampered by the clash between their @Configuration annotation, which marks classes that contain bean definitions, and ours, which marks interfaces that can be instantiated as configuration proxies.

Since Spring has a larger use base, we should adapt and provide a new annotation for this purpose that avoids the name clash. An option would be to adopt the name they use for a similar purpose, @ConfigurationSource. If we choose that path, we should support classes that carry their annotation, in addition to ours.

We must also remain backward compatible with our existing name for at least one more major-version release (ie, we would not retire support for our @Configuration annotation before a hypothetical Archaius 4 release).