Tomcat Définir le chemin d'une src de données sans utiliser server.xml

Tomcat Définir le chemin d'une src de données sans utiliser server.xml - Java - Programmation

Marsh Posté le 05-06-2004 à 21:11:09    

[Voir la solution 4e post]
 
Je dois me connecter à une base de données à partir de classes java. D'après ce que j'ai pu comprendre il faut définir les paramètres de la base dans les fichiers server.xml et dans web.xml de Tomcat.
C'est ce que j'ai fait et ça marche.
 
Ma question est : est-il possible d'arriver au meme résultat sans modification du fichier server.xml ?
Bien entendu, je ne veux pas entrer les paramètres de connexion (user + password) dans mon code.
Parce qu'une modification du server.xml nécessite un redémarrage du serveur si je ne me trompe pas.
 
Merci.


Message édité par charly007 le 06-06-2004 à 23:58:11
Reply

Marsh Posté le 05-06-2004 à 21:11:09   

Reply

Marsh Posté le 05-06-2004 à 21:54:25    

Je viens de trifouiller dans les pages d'administration de Tomcat. J'ai fait une modification et un commit. Je m'aperçois qu'il a créé un fichier .xml portant le nom de l'appli dans le répertoire conf\Catalina\localhost et viré toute la partie Context de mon appli pour la mettre dans ce fichier.
 
C'est peut-etre un moyen d'éviter de modifier server.xml.
Reste à savoir si ce fichier xml peut etre généré lors du déploiement.


Message édité par charly007 le 05-06-2004 à 21:55:50
Reply

Marsh Posté le 05-06-2004 à 23:09:32    

Je viens de réaliser la mise en paquetage avec deploytool et le déploiement c'est bien passé.
 
Je ne vois pas où indiquer le chemin de la base dans deploytool  :sweat:


Message édité par charly007 le 05-06-2004 à 23:40:45
Reply

Marsh Posté le 06-06-2004 à 23:48:50    

Après des heures de recherches j'y suis arrivé !  :sleep:  
 
Voici comment faire (Rappel : le but est de faire un .war qui se déploie tout seul avec configuration du contexte de l'appli) :
 
1. Remplir le \WEB-INF\web.xml comme il faut (la base est bd) :


<resource-ref>
 <description>jdbc</description>
 <res-ref-name>jdbc/bd</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>


 
2. Faire un répertoire META-INF à la racine de l'appli (au meme niveau que le WEB-INF donc) et y ajouter le fichier context.xml rempli comme suit :


<?xml version='1.0' encoding='utf-8'?>
<Context displayName="NomAppli" docBase="RépertoireDeLAppli" path="CheminDeLAppli">
  <Resource name="jdbc/bd" type="javax.sql.DataSource"/>
  <ResourceParams name="jdbc/bd">
    <parameter>
      <name>maxWait</name>
      <value>5000</value>
    </parameter>
    <parameter>
      <name>maxActive</name>
      <value>20</value>
    </parameter>
    <parameter>
      <name>password</name>
      <value>MotDePasseDeLaBase</value>
    </parameter>
    <parameter>
      <name>url</name>
      <value>CheminDeLaBase (par exemple : jdbc:postgresql://192.168.2.2:5432/bd)</value>
    </parameter>
    <parameter>
      <name>driverClassName</name>
      <value>org.postgresql.Driver</value>
    </parameter>
    <parameter>
      <name>maxIdle</name>
      <value>2</value>
    </parameter>
    <parameter>
      <name>username</name>
      <value>NomUtilisateurDeLaBase</value>
    </parameter>
  </ResourceParams>
</Context>


 
3. Faire le .war correspondant à l'appli :


jar cvf gter.war .


 
 
Merci Moi  :D
 
Et aussi :
 
http://support.sas.com/rnd/appdev/ [...] Deploy.htm
http://java.sun.com/j2ee/tutorial/ [...] ents3.html


Message édité par charly007 le 06-06-2004 à 23:52:56
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed