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 :

Pool de connexions sous Tomcat1.4 ne fonctionne plus sous Tomcat5.5


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut Pool de connexions sous Tomcat1.4 ne fonctionne plus sous Tomcat5.5
    Bonjour,
    Il y a 2-3 ans, j'ai écrit une application qui tourne sous Tomcat4.1 avec la gestion d'un pool de connexions.
    Aujourd'hui je dois la faire tourner sous Tomcat5.5 mais cela ne marche pas. J'ai le fameux message: Cannot create JDBC driver of class '' for connect URL 'null'...

    Dans le web.xml de mon application, j'ai mis ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      <resource-ref>
      <description>reference a la ressource BDD pour le pool</description> 
      <res-ref-name>jdbc/mydb2</res-ref-name> 
      <res-type>javax.sql.DataSource</res-type> 
      <res-auth>Container</res-auth> 
      </resource-ref>
    Dans le server.xml de Tomcat, j'ai mis ceci:
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
            <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" 
            	cookies="true" crossContext="false" debug="0" docBase="\ConsultationTablesSica" mapperClass="org.apache.catalina.core.StandardContextMapper" 
            	path="/ConsultationTablesSica" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" 
            	wrapperClass="org.apache.catalina.core.StandardWrapper">
              <Logger className="org.apache.catalina.logger.FileLogger" debug="1" directory="logs" prefix="ConsultationTablesSica_" suffix=".txt" timestamp="true" verbosity="1"/>
              <Resource auth="Container" name="jdbc/mydb2" scope="Shareable" type="javax.sql.DataSource"/>
              <ResourceParams name="jdbc/mydb2">
                <parameter>
                  <name>url</name>
                  <value>jdbc:odbc:GREP31</value>
                </parameter>
                <parameter>
                  <name>maxIdle</name>
                  <value>50</value>
                </parameter>
                <parameter>
                  <name>maxActive</name>
                  <value>50</value>
                </parameter>
                <parameter>
                  <name>driverClassName</name>
                  <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
                </parameter>
                <parameter>
                  <name>maxWait</name>
                  <value>10000</value>
                </parameter>
                <parameter>
                  <name>removeAbandoned</name>
                  <value>true</value>
                </parameter>
                <parameter>
                  <name>username</name>
                  <value>y0000</value>
                </parameter>
                <parameter>
                  <name>factory</name>              
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
                </parameter>
                <parameter>
                  <name>logAbandoned</name>
                  <value>true</value>
                </parameter>
                <parameter>
                  <name>removeAbandonedTimeout</name>
                  <value>20</value>
                </parameter>
                <parameter>
                  <name>password</name>
    		<value>y0000</value>
                </parameter>
              </ResourceParams>
            </Context>
    Dans Tomcat4.1, j'avais ajouté dans <Tomcat>/common/lib les librairies commons-dbcp-1.1.jar et commons-pool-1.1.jar.

    Dans Tomcat5.5, j'ai vu que la librairie naming-factory-dbcp.jar contenait déjà tout ce qu'il fallait. Avec cependant une différence: la classe BasicDataSourceFactory ne se trouve pas dans le même package. J'ai donc remplacé org.apache.commons.dbcp.BasicDataSourceFactory par org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory. Sans succès!

    J'ai parcouru les forums et FAQ mais je n'ai pas trouvé mon bonheur.

  2. #2
    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
    Regarde ici.
    La définition de la Datasource dans le fichier server.xml semble avoir changé en Tomcat 5.5.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Provisoirement toléré
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Points : 66
    Points
    66
    Par défaut
    dans server.xml il sufit de specifier le realm sans context

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut
    Regarde ici.
    Merci c_nvy une fois de plus! J'avais vu cette page mais je n'avais pas fait assez attention.
    En fait l'élément ResourceParams existait dans Tomcat4.1 mais n'existe plus dans Tomcat5.5.

    J'ai donc modifié l'élément Resource, et ça marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" 
    	cookies="true" crossContext="false" debug="0" docBase="\ConsultationTablesSica" mapperClass="org.apache.catalina.core.StandardContextMapper" 
    	path="/ConsultationTablesSica" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" 
    	wrapperClass="org.apache.catalina.core.StandardWrapper">
    	<Logger className="org.apache.catalina.logger.FileLogger" debug="1" directory="logs" prefix="ConsultationTablesSica_" suffix=".txt" timestamp="true" verbosity="1"/>
    	<Resource name="jdbc/mydb2" auth="Container" type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
     		url="jdbc:odbc:GREP31" username="y0000" password="y0000" maxActive="50" maxIdle="50" maxWait="10000" 
    	 	removeAbandoned="true" logAbandoned="true" removeAbandonedTimeout="20" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />
    </Context>
    Merci encore!

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 13/11/2008, 15h47
  2. Une fonction sous Excel 2007 ne fonctionne pas sous Excel 2003
    Par Dryss51 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 27/07/2007, 08h09
  3. Réponses: 8
    Dernier message: 11/07/2007, 09h38
  4. Réponses: 4
    Dernier message: 10/04/2006, 08h28
  5. [Eclipse3]Ctrl H ne fonctionne plus sous la perspective Java
    Par joseph_p dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/09/2005, 11h32

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