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 :

Erreur connection mysql : Could not create resource factory instance


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 45
    Par défaut Erreur connection mysql : Could not create resource factory instance
    Bonjour,

    J'ai crée une appli web sous eclipse ou tout marche correctement même la connection à mysql.

    Qd j'installe hors eclipse mais toujours en local mon appli à partir d'un war dans Tomcat tout marche correctement aussi.

    Mais si j'installe le même .war sur le serveur distant j'obtiens un "javax.naming.NamingException: Could not create resource factory instance"

    La connection à ma base est configure dans mon fichier context.xml que je place dans Meta-Inf

    Il ressemble à ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       <Context docBase="monAppli" path="/monAppli" reloadable="true" source="org.eclipse.jst.j2ee.server:monAppli">
      <Resource driverClassName="com.mysql.jdbc.Driver" auth="MOI" maxActive="8" maxIdle="8" maxWait="5000" name="jdbc/monAppli" password="****" type="javax.sql.DataSource" url="jdbc:mysql://localhost/monAppli?autoReconnect=true" username="root"/> 
      </Context>


    Enfin si je crée directement une connection en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    		   conn = java.sql.DriverManager.getConnection(
    		      "jdbc:mysql://localhost/monAppli?user=root&password=****");*/
    Ca marche correctement....

    Le problème viendrait donc du fichier de context mais :
    1- il trouve bien le fichier context (sinon j'aurais une autre erreur du style" Le Nom jdbc n'est pas lié à ce Contexte". (j'avais retiré le fichier context.xml pour voir)
    2- le fichier context.xml marche lors d'un deploiement local du war...

    Je ne sais plus ou chercher. Quelqu'un aurait une idée ?

    Olivier

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 45
    Par défaut Je cherche toujours à comprendre
    Donc si je résume j'ai un fichier web.xml dans Web-inf ou j'ai ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/monAppli</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>
    un fichier context.xml placé dans Meta-inf avec ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
       <Context docBase="monAppli" path="/monAppli" reloadable="true" source="org.eclipse.jst.j2ee.server:monAppli">
      <Resource driverClassName="com.mysql.jdbc.Driver" auth="MOI" maxActive="8" maxIdle="8" maxWait="5000" name="jdbc/monAppli" password="****" type="javax.sql.DataSource" url="jdbc:mysql://localhost/monAppli?autoReconnect=true" username="root"/> 
      </Context>
    Et au final ca ne marche pas avec toujours le même message d'erreur...

    Alors il doit surement y avoir une petite erreur mais j'ai beau avoir laissé reposer le code pour m'y replonger plus tard je ne vois pas. Et là il faudrait vaiment que je trouve d'ou ca vient .....

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 45
    Par défaut Si ca peut servir à quelqu'un
    Il suffit de rajouter
    <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>

    ou factory="org.apache.commons.dbcp.BasicDataSourceFactory" dans les paramètres du Resource.

    Ensuite il faut que mysql.connector.jar soit [tomcat]/common/lib et nulle part ailleurs (si jamais vous aviez des copies dans web-inf ou share/lib retirez les...)

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

Discussions similaires

  1. Erreur "java : could not create virtual machine"
    Par jeanartemis dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 23/06/2013, 14h14
  2. Erreur dans la Task List : Could not create ..
    Par stc074 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/12/2012, 20h11
  3. [RAD-AD] Erreur "could not create the java virtual machine"
    Par Christophe P. dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 12/12/2011, 11h21
  4. Réponses: 1
    Dernier message: 20/04/2009, 13h49
  5. Erreur : "could not create process"
    Par spéculteur dans le forum C++
    Réponses: 3
    Dernier message: 29/03/2005, 11h31

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