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

Tomcat et TomEE Java Discussion :

[Tomcat] Paramètres dans le server.xml


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut [Tomcat] Paramètres dans le server.xml
    Bonjour,

    J'aimerais pouvoir stocker dans le fichier server.xml
    des chaines de caractères que j'utiliserai dans mon application java.

    - serveur, nom d'utilisateur et mot de passe à utiliser
    - schema à utiliser pour les requêtes SQL
    (pour passer de test à production sans recompiler)


    En ASP.NET celà est possible de stocker des valeurs dans le fichier
    global.asax, et je serais très étonné que ce ne soit pas possible en Java!

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut Re: Paramètres
    Citation Envoyé par JFDelges
    Bonjour,

    J'aimerais pouvoir stocker dans le fichier server.xml
    des chaines de caractères que j'utiliserai dans mon application java.

    - serveur, nom d'utilisateur et mot de passe à utiliser
    - schema à utiliser pour les requêtes SQL
    (pour passer de test à production sans recompiler)


    En ASP.NET celà est possible de stocker des valeurs dans le fichier
    global.asax, et je serais très étonné que ce ne soit pas possible en Java!
    Il faut plutot les stockés dans un fichier properties..

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Tu peux développer?

    Tu veux dire un fichier du genre
    clé=valeur;
    clé2=valeur;

    Comment accéder à ce fichier par Java? Merci!

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    En fait je préférerais tout de même avoir celà dans le fichier server.xml,
    ainsi tous les paramètes de configuration y seraient centralisés...

    Ex:
    J'ai déjà le pool de connexions qui y est configuré, ainsi que le serveur LDAP à utiliser pour l'authentification...

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu utilise un framework MVC ?

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    c'est une petite applic, j'implémente le MVC moi même...

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par JFDelges
    c'est une petite applic, j'implémente le MVC moi même...
    Je ne penses pas que ce soit possible d'ajouter des paramètres dans le server.xml.
    à l'aide d'un fichier properties:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ResourceBundle rsbu =ResourceBundle.getBundle("FileName");
    String logouturl = rsbu.getString
    ("com.sun.database.server");

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Ok merci pour l'info!

  9. #9
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    regarde du cote du fichier web.xml
    tu peux recuperer les parametres dedans
    il est de coutume de charger ça dans la methide init de ta servlet

    je sais plus comment on fait exactement mais je sais que c'est possible

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    J'ai fait quelques recherches mais dur à cibler, on parle trop de "web.xml + parameters" etc... sur le net!

    Quelqu'un sait comment faire exactement? Ou alors je choisis l'alternative du fichier properties...

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    dans le server.xml:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <ResourceParams name="jdbc/BDDEV_DS">
          <parameter>
            <name>maxActive</name>
            <value>100</value>
          </parameter>
          <parameter>
            <name>maxWait</name>
            <value>5000</value>
          </parameter>
          <parameter>
            <name>xxx</name>
            <value>xxx</value>
          </parameter>
          <parameter>
            <name>url</name>
            <value>jdbc:db2://10.10.10.10:5678/bddev</value>
          </parameter>
          <parameter>
            <name>driverClassName</name>
            <value>COM.ibm.db2.jdbc.net.DB2Driver</value>
          </parameter>
          <parameter>
            <name>maxIdle</name>
            <value>5</value>
          </parameter>
          <parameter>
            <name>xx</name>
            <value>xx</value>
          </parameter>
        </ResourceParams>
    dans le web.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <resource-ref>
    		<res-ref-name>jdbc/BDDEV_DS</res-ref-name>
    		<res-type>javax.sql.DataSource</res-type>
    		<res-auth>Container</res-auth>
    	</resource-ref>

  12. #12
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Oui je reconnais bien la configuration d'un pool de connexions...

    On pourrait donc faire qqchose dans ce genre?

    server.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <ResourceParams name="CustomConfig" type="???">
          <parameter>
            <name>SCHEMA</name>
            <value>JFDDTA</value>
          </parameter>
          <parameter>
            <name>SERVER</name>
            <value>10.0.0.1</value>
          </parameter>
    java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Context ctx;
    Context envCtx;
     
    ctx = new InitialContext();
    envCtx = (Context)ctx.lookup("java:comp/env");
    ??? valeurs = envCtx.lookup("CustomConfig");
    Reste à savoir le type (DataSource dans le cas d'un pool de connexions...)

  13. #13
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Context ctx = new InitialContext(); 
    DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/CustomConfig");
    Modératrice Java - Struts, Servlets/JSP, ...

  14. #14
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Excuse moi c_nvy mais DataSource permet d'obtenir une connexion
    sur une base de données...

    Ce qui n'a rien avoir avec mes simples chaines de caractères qui paramètres d'autres choses dans mon application... Je vais donc me tourner vers le fichier properties.

  15. #15
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Pour ceux que ça intéresse, voilà donc la solution choisie:

    Fichier de configuration:

    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
    22
    23
     
    #Test: TMISSDTA
    #Prod: MISSDTA
    Schema=TMISSDTA
     
    #Serveur (nom ou IP)
    ServerAdrs=QAPSERV
     
    #Test : libprrn1.PGM
    #Prod : libprrn2.PGM
    LibListInit=/qsys.lib/missobj.lib/libprrn1.PGM
     
    #Test : jfdobj
    #Prod : missdta
    PRR009BN2=/qsys.lib/jfdobj.lib/prr009bn2.PGM
     
    #Test : jfdobj
    #Prod : missdta
    PRR007BN2=/qsys.lib/jfdobj.lib/prr007bn2.PGM
     
    #Test : jfdobj
    #Prod : missdta
    PRR505BN2=/qsys.lib/jfdobj.lib/prr505bn2.PGM

    Classe encapsulant la configuration:
    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 class AppConfig
    {  
        public static void InitFromCfgFile(String FileLoc) throws Exception
        { 
            System.out.println(FileLoc);
            Properties cfg = new Properties();
            FileInputStream fis = new FileInputStream(FileLoc);
            cfg.load(fis);
     
            AppConfig.Schema = cfg.getProperty("Schema");  
            AppConfig.ServerAdrs  = cfg.getProperty("ServerAdrs"); 
            AppConfig.LibListInit = cfg.getProperty("LibListInit");   
            AppConfig.PRR009BN2   = cfg.getProperty("PRR009BN2");   
            AppConfig.PRR007BN2   = cfg.getProperty("PRR007BN2");   
            AppConfig.PRR505BN2   = cfg.getProperty("PRR505BN2");  
     
            fis.close();
        }
    ...
    }
    Servlet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public void init(ServletConfig config) throws ServletException 
    	{
    	    super.init(config);
    	    try
    	    {
    	        AppConfig.InitFromCfgFile(config.getServletContext().getRealPath("VieJSP.cfg")); 
    	    }
    	    catch(Exception e)
    	    {
    	        System.out.println("ERREUR : "+ e.getMessage());
    	    }
    	}

    Merci pour votre aide!

Discussions similaires

  1. Tomcat et le fichier server.xml
    Par riadhhwajdii dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/02/2011, 01h05
  2. [Tomcat 4.1] Configuration server.xml
    Par Lémur dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 08/07/2008, 10h27
  3. pb lors du traditionnel changement du port 8080 en 80 dans le server.xml
    Par dracula2000 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 16/03/2007, 13h11
  4. [Tomcat 4 VS 5] différence dans server.xml
    Par pmartin8 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 13/10/2005, 14h53
  5. [ Tomcat ] access valeur Docbase server.xml
    Par voodoo_mg dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 27/09/2004, 09h14

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