|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
Salut tout le monde,
Bon voilà je viens d'installer le nouveau tomcat sur une machine Linux. Je déploie toutes mes applis ... ok. Je lance le navigateur et la paf, ben j'avais oublié de configurer les pools de connection JNDI pour tomcat. Cependant, comment faire? La doc de tomcat est pas très précise, moi je veux pas mettre la connection dans le code, mais dans un fichier xml, c'est possible non? A savoir que je dois migrer mon appli de JBoss vers Tomcat 6. Voilà, je vous remercie. + |
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
Pour déclarer ton pool de connexion, tu as 2 solutions:
- dans le fichier server.xml : tu déclares un datasource global - dans le fichier de contexte de ton application (si tu la déploies avec un fichier de contexte) sinon dans la définition du contexte de ton application au sein du fichier server.xml : tu déclares un datasource local Il existe aussi une troisième solution qui consiste à déclarer un datasource global et de rajouter une référence à celui-ci dans le contexte de l'application. Cette méthode est intéressante lorsque l'on veut partager un datasource entre plusieurs applications. Sinon ma préférence va à l'utilisation d'un fichier de contexte par application avec le datasource déclaré dans celui-ci. Ainsi on ne modifie pas le fichier server.xml. Jacques Desmazières |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
Bonjour,
merci de ta réponse. Mon application est un ensemble de war. Il faut que j'écrive un fichier de contexte pour chaque war? J'ai déjà essayé de modifier server.xml (à l'aide du tutorial qu'il y a sur developpez.net), mais sans succès. Mais bon déjà, c'est dans quel fichier que tu me dis d'écrire? |
|
|
00
|
|
|
#4 | ||||
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
Personnellement c'est ce que je fais : un fichier de contexte par fichier war. Par contre si chacun de tes war accède à la même base de données, le mieux est donc peut être de déclarer ton datasource au niveau du server.xml (il correspond à une référence JNDI globale ex:jdbc/monDS). Ensuite dans chacun de tes fichiers de contexte tu déclares une référence vers le datasource globale (elle correspond à une référence JNDI locale ex
comp/env/jdbc/monDS).server.xml (extract): Code :
Code :
Bien sûr, tu peux pour des tests mettre tout cela directement dans server.xml. J'espère que ça te permettra d'avancer Jacques Desmazières |
||||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
Je te remercie de tout ça!
Je précise que je n'ai pas de dossier extract, mais bon je vais modifier server.xml qui se trouve pour moi dans le répertoire conf de tomcat, il me semble que c'est celui la. Je vais tester cela et je te donne ma réponse. Encore merci de ta patience. |
|
|
00
|
|
|
#6 | |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
Je suis désolé d'être aussi mauvais mais bon je bute encore
Donc du coup, je vais te donner toutes mes infos. Le server.xml est dans le répertoire conf (il me semble que c'est celui la) Ensuite dans webapps, j'ai mes war. C'est tout. J'ai un war qui s'appelle "home.war" qui est celui de démarrage. Ce war va voir sur une BDD SQL Server. Dans le code ( ce n'est pas moi qui l'ai fait), la BDD est appellé via le nom GESTAPLI. Et en fait quand je vais sur http://ip/home je recois ce message d'erreur : Citation:
Je te serais énormément reconnaissant de m'éclairer un peu plus. Merci. |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
S'il vous plaît, je suis assez désespéré là quand même, les modifications que je porte sur sever.xml ne font rien du tout!
|
|
|
00
|
|
|
#8 |
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
Envoie le fichier server.xml
Jacques Desmazières |
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
Code :
|
||
|
|
00
|
|
|
#10 |
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
Le fichier server.xml semble correct. Par contre, le message d'erreur spécifie que le nom GESTAPLI n'est pas trouvé dans le contexte. J'aurais donc tendance à en déduire qu'il essaye de trouver le nom JNDI local "java:comp/env/GESTAPLI" et non pas juste "GESTAPLI".
Pour cela il te faut impérativement déclarer le contexte de ton appli "home", soit directement dans server.xml, soit dans un fichier de contexte distinct (dans webapp), et déclarer dans ce contexte la référence vers le datasource global GESTAPLI. De cette façon le nom JNDI "java:comp/env/GESTAPLI" sera défini. Jacques Desmazières |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
Alors j'essaie de créer le fichier de contexte directement dans le server.xml mais le probleme c'est où le mettre, parce que j'imagine qu'il faut mettre la balise <Context> à un endroit bien précis.
Sinon, le mettre dans webapp... dans le .war??? ou comme ça dans le dossier webapp? Je te remercie quand même de prendre du temps sur toi; |
|
|
00
|
|
|
#12 | ||
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
Pour moi le plus simple est de créer un fichier de contexte dans le répertoire webapp. Pour cela, il faut que tu déplaces ton fichier war afin qu'il ne soit pas déployé automatiquement par Tomcat. Tu crées un fichier de contexte que tu peux nommer comme ton fichier war mais avec l'extension xml, et tu y mets quelque chose qui devrait ressembler à ça:
Code :
|
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
bon je viens de rajouter le fichier xml dans le dossier webapss avec pour le chemin "/home/.../home.war" et résultat ben toujours pareil, GESTAPLI n'est pas lié au contexte.
|
|
|
00
|
|
|
#14 | ||||
|
Membre du Club
![]() Inscription : mars 2006 Messages : 58 ![]() |
Hello,
Alors j'ai aussi pas mal galèrer avec le setup d'une ressource jdbc avecTomcat et JNDI (setup différent presqu'à chaque nouvelle version de tomcat...) Alors finalement, la config pour tomcat 6 me semble assez simple : dans ton application web, dans le répertoire META-INF, tu crées un fichier context.xml qui ressemble à ça : Code :
et pas de probleme AUCUNE modification des fichiers de tomcat... edit : je viens de tester sans passer par JPA, acquérir la ressource et obtenir une connection ne nécéssite aucune modif de web.xml Code :
|
||||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
Ok merci à toi YeFFrey, je testerais ça plutard (on m'a fait passé à autre chose de plus important, Subversion
Dès que je recommencerais à essayer de faire marcher tomcat 6 je te ferais signe. Encore merci!!! + |
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 14 ![]() |
hey YeFFreY, ça y est je viens de tester, mais j'ai toujours la même erreur que avant.
Je n'ai rajouté que context.xml dans le dossier META-INF de mon war. Je n'ai que ce fichier qui spécifie les pools de connexion, rien dans le server.xml de tomcat, que dans le META-INF. Rien à faire je me fais toujours jetter par Tomcat. Je ne sais que faire et je m'en remet à toi pour savoir où donner de la tête. |
|
|
00
|
|
|
#17 |
|
Futur Membre du Club
![]() Inscription : mars 2005 Messages : 35 ![]() |
Salut,
il y a un truc qui me chiffonne dans tout ça : dans mon Tomcat 6, je n'ai pas la librairie commons-dbcp.jar contenant la factory org.apache.commons.dbcp.BasicDataSourceFactory !?! Comment se fait-ce ? Moi je n'ai que la librairie tomcat-dbcp.jar ! Et avec celle-ci, j'ai des problèmes aussi ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com