Configuração de origem de propriedade de ambiente de primavera

Estou trabalhando em uma biblioteca de aplicativos com uma classe de utilitário chamada "Config"que é apoiado pela PrimaveraEnvironment objeto e fornece getters fortemente tipados para todos os valores de configuração de aplicativos.

As fontes de propriedade para a configuração podem variar dependendo do ambiente (DEV / PROD) e do uso (standalone / test / webapp) e podem variar dos padrões (system & env props) para banco de dados personalizado e fontes JNDI.

O que eu estou com dificuldades é como permitir que os aplicativos que consomem esta biblioteca configurem facilmente a (s) fonte (s) de propriedade usada (s) peloEnvironment, de tal forma que as propriedades estão disponíveis para uso em nossaConfig classe e através doPropertySourcesPlaceholderConfigurer.

Ainda estamos usando a configuração XML, então, idealmente, isso poderia ser configurado em XML de forma semelhante.

<bean id="propertySources" class="...">
    <property name="sources">
        <list>
            <ref local="jndiPropertySource"/>
            <ref local="databasePropertySource"/>
        </list>
    </property>
</bean>

... e, em seguida, injetado de alguma forma na coleção de fontes de propriedade do Ambiente.

Eu li que algo como isso pode não ser possível devido ao tempo de ciclo de vida do contexto do aplicativo, e que isso pode precisar ser feito usando uma classe de inicializador de aplicativo.

Alguma ideia?

questionAnswers(5)

yourAnswerToTheQuestion