IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Récupérer paramètre tomcat dans le context spring


Sujet :

Spring Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut Récupérer paramètre tomcat dans le context spring
    Bonjour à tous,

    J'ai une application Spring / Hibernate, je souhaiterais déclarer les paramètres de connexion à la base de données dans l'un des fichiers de configuration de tomcat, j'ai lu qu'il était possible de le faire dans le context.xml via cette annotation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <parameter name="databaseUrl" value="127.0.0.1/bdd" override="false" />
    <parameter name="databaseUsername" value="id" override="false" />
    <parameter name="databasePassword" value="pass" override="false" />
    Et de récupérer ce paramètre dans le fichier de configuration de Spring :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
    		<property name="url" value="jdbc:mysql://#{contextParameters.databaseUrl}" />
    		<property name="username" value="#{contextParameters.databaseUsername}" />
    		<property name="password" value="#{contextParameters.databasePassword}"></property>
     
     
    	</bean>
    Mais j'ai ce message au démarrage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EL1008E:(pos 18): Field or property 'databaseUrl' cannot be found on object of type 'java.util.Collections$UnmodifiableMap'
    Auriez vous une idée du problème ?

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Tu dois utiliser ServletContextPropertyPlaceholderConfigurer. Fait une recherche la dessus, tu trouveras pas mal d'exemple sur le net.

    A+.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Salut, merci de ta réponse, grâce à toi j'ai trouvé ce qu'il me fallait :

    ll you need to do is add the bean definition to your spring configuration files:

    <bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">

    And then you add parameters to Tomcat's context.xml file :

    <Parameter name="jdbc.driverClassName" value="className" override="false"/>
    <Parameter name="jdbc.url" value="url" override="false"/>
    <Parameter name="jdbc.username" value="username" override="false"/>
    <Parameter name="jdbc.password" value="password" override="false"/>

    Now Spring will find these and replace your values in your data source:

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    </bean>
    Source :
    http://hollowaybrad.blogspot.fr/2012...ring-with.html

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Charger des classes externes dans un contexte Spring
    Par guymage dans le forum Spring
    Réponses: 2
    Dernier message: 26/04/2013, 00h02
  2. Récupérer une variable dans un context
    Par yoann34 dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 27/03/2013, 14h37
  3. [Framework] recharger un fichier properties dans le context Spring
    Par lionel84 dans le forum Spring
    Réponses: 1
    Dernier message: 07/12/2010, 16h19
  4. recuper un bean dans le context spring
    Par Esil2008 dans le forum Spring
    Réponses: 4
    Dernier message: 21/11/2008, 09h44
  5. Réponses: 4
    Dernier message: 31/07/2008, 20h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo