[ https://issues.apache.org/jira/browse/CONFIGURATION-846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary D. Gregory resolved CONFIGURATION-846. ------------------------------------------- Fix Version/s: 2.10.2 Resolution: Fixed > Unable to load multivalued configurations into Spring using > ConfigurationPropertySource > --------------------------------------------------------------------------------------- > > Key: CONFIGURATION-846 > URL: https://issues.apache.org/jira/browse/CONFIGURATION-846 > Project: Commons Configuration > Issue Type: Bug > Affects Versions: 2.10.0, 2.10.1 > Reporter: Tim Donohue > Priority: Minor > Fix For: 2.10.2 > > > We've run into an odd bug when using Commons Configuration v2 + Spring Boot > which I _believe_ is caused by changes in the PR > [https://github.com/apache/commons-configuration/pull/309] to address > https://issues.apache.org/jira/browse/CONFIGURATION-834. > During a routine upgrade from Commons Configuration v2.9.0 to v2.10.1, we > discovered that our multivalued configurations (i.e. an array or list of > values) were only loading the *first value* into Spring. In other words, it > seems to no longer be possible to load multivalued configurations into Spring > Beans via something like this: > {{@Value("${some.multivalued.prop}")}} > {{String[] myMultivaluedVariable;}} > I could be wrong, but I _believe_ it may be caused by the [change from > `getProperty()` to `getString()` in PR > 309|https://github.com/apache/commons-configuration/pull/309/files#diff-2f481434a16d50ce9df3af48f9e72fc8872050b0e8d1614fcd7420a8779db283R52], > because `getString()` is [documented to only return the *first value* in a > list of > values|https://commons.apache.org/proper/commons-configuration/userguide/howto_basicfeatures.html#List_handling] > {quote}Of interest is also the last line of the example fragment. Here the > `getString()` method is called for a property that has multiple values. This > call will return the first value of the list. > {quote} > I don't know of the proper solution to this issue. But I can confirm that > v2.9.0 works properly for multivalued configurations, but both v2.10.0 and > v2.10.1 do not (in both those versions we are seeing only the first value > loaded into Spring for multivalued configurations). > For our purposes, we are looking to create a custom > ConfigurationPropertySource to workaround this issue in our codebase. > However, ideally, it'd be better to ensure the default > ConfigurationPropertySource is still able to handle multi-valued > configurations. -- This message was sent by Atlassian Jira (v8.20.10#820010)