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

JSF Java Discussion :

Ecrire dans un fichier de paramètres (.properties)


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Par défaut Ecrire dans un fichier de paramètres (.properties)
    Bonjour.
    Je travail dans une entreprise qui a plusieurs site, chaque site a sa propre Base des données.
    je veut développer une application web JSF standard qui peut être paramétrable celons la configuration de chaque site.
    j'ais créé un fichier de configuration .properties, je l'ai placé dans un package "org.app.bundles" dans le javaSource.
    la lecture de fichier fonctionne très bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public PropertiesUtil(){
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        InputStream fichierProperties = classLoader.getResourceAsStream( "/org/app/bundles/config.properties" );
        Properties prop = new Properties();
     
        String driver;
        String url;
        String dbuser;
        String dbpassword;
        try{
            prop.load( fichierProperties );
     
            driver = prop.getProperty( PROPERTY_DRIVER );
            url = prop.getProperty( PROPERTY_URL );
            dbuser = prop.getProperty( PROPERTY_DB_USERNAME );
            dbpassword = prop.getProperty( PROPERTY_DB_PASSWORD );     
        } catch (IOException e){
            throw new Exception( "Impossible de charger le fichier properties /org/app/bundles/config.properties", e );
        }
    }
    ce code fonctionne très bien et la lecture du fichier a merveille.
    le problème est la modification du contenu (l'ecriture) de ce fichier (paramètres de connexion) après le déploiement de l'application (.war) indépendamment du dossier de déploiement (serveur web de l'agence A :"C://appache-tomcat", agence B : "D://....", Agence C : "C://programme Files/..." etc )
    comment localiser le fichier situé dans mon application.war
    Merci d'avance.

  2. #2
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    Salut
    Le fichier de propriétés doit être stocké dans le CLASSPATH de l’application web. Dans le cas d’un WAR, il s’agit de WEB-INF/classes.

    Eric

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Par défaut
    oui évidement quand j’exécute l'application et j'exploite le dossier dans le serveur, je le trouve bien dans le "WEB-INF/classes/org/app/bundles/" et il est bien chargé quand je lit le fichier. mais le problème est comment repérer dynamiquement ce fichier afin de modifier son contenu (outputStream) peut import le lieu d'installation du serveur web (C:/; D:/ ; ...)

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tu ne peux pas facilement et tu ne dois pas.

    Pour te donner un exemple, jboss redéploie à chaque démarrage, ce qui fait qu'après un redémarrage, tu va perdre tes modifications, jboss recopiant le .properties venant du war....

    Ce qu'il faut faire c'est placer ce properties à l'extérieur de ton war, et l'ouvrir avec File et non pas getResource.

    Tu peux par exemple le mettre dans la home de l'utilisateur, ou le mettre dans un dossier que tu référencera via une variable d'environnement.

Discussions similaires

  1. Servlet ET JSP + Ecrire dans un fichier.properties
    Par chams123 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/08/2013, 15h49
  2. Ecrire dans un fichier un paramètre
    Par Xavier3131 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 17/07/2008, 10h53
  3. Ecrire dans un fichier
    Par gibet_b dans le forum Linux
    Réponses: 5
    Dernier message: 25/04/2005, 20h11
  4. Ecrire dans un fichier grace à un trigger ?
    Par zigoo dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/10/2004, 20h03
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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