Emplacement @PropertySource facultatif

Je suis en utilisant le Printemps 3.2 dans une application web et j'aimerais avoir un .properties fichier dans le chemin de la classe qui contient les valeurs par défaut. L'utilisateur doit être en mesure d'utiliser JNDI pour définir un emplacement où un autre .properties est stocké qui remplace les valeurs par défaut.

Les ouvrages suivants, aussi longtemps que l'utilisateur a mis la configLocation comme JNDI de la propriété.

@Configuration
@PropertySource({ "classpath:default.properties", "file:${java:comp/env/configLocation}/override.properties" })
public class AppConfig
{
}

Cependant, les remplacements doivent être facultatifs et doivent donc les JNDI de la propriété.

Actuellement j'obtiens une exception (java.io.FileNotFoundException: comp\env\configLocation\app.properties (The system cannot find the path specified) lorsque le JNDI propriété est manquante.

Comment puis-je définir facultatif .properties qui sont utilisés uniquement lorsque le JNDI de la propriété (configLocation) est réglé? Est-ce même possible avec @PropertySource ou est-il une autre solution?

source d'informationauteur Gerhard Schlager | 2013-07-01