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 5.0] pool de connexion


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 114
    Points : 48
    Points
    48
    Par défaut [Tomcat 5.0] pool de connexion
    Bonjour j'ai cette erreur :

    org.apache.commons.dbcp.BasicDataSource@3bc257
    Exception sur l'accès à la BDD org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

    dans server.xml y ca
    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
     
          <Context path="/increment1" reloadable="true" docBase="\increment1" >
    			<Resource name="jdbc/increment1" auth="Container" type="javax.sql.DataSource"/>
    			<ResourceParams name="jdbc/increment1">
    				<parameter>
    					<name>username</name>
    					<value>postgres</value>
    			 	</parameter>
    				<parameter>
    					<name>password</name>
    					<value>iupmime</value>
    				</parameter>
    			 	<parameter>
    					<name>driverClassName</name>
    					<value>org.postgresql.Driver</value>
    			 	</parameter>
    				<parameter>
    					<name>url</name>
    					<value>jdbc:postgresql://adresse/sorasport2</value>
    				</parameter>
    			</ResourceParams>		 
    		</Context>
    et web.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
     
          <Context path="/increment1" reloadable="true" docBase="\increment1" >
    			<Resource name="jdbc/increment1" auth="Container" type="javax.sql.DataSource"/>
    			<ResourceParams name="jdbc/increment1">
    				<parameter>
    					<name>username</name>
    					<value>postgres</value>
    			 	</parameter>
    				<parameter>
    					<name>password</name>
    					<value>iupmime</value>
    				</parameter>
    			 	<parameter>
    					<name>driverClassName</name>
    					<value>org.postgresql.Driver</value>
    			 	</parameter>
    				<parameter>
    					<name>url</name>
    					<value>jdbc:postgresql://adresse/sorasport2</value>
    				</parameter>
    			</ResourceParams>		 
    		</Context>

    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
     
     
    try {
    			//récupération de la source de donnée
    			Context initCtx = new InitialContext();
    			ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/increment1");
    			System.out.println(ds);
    		} catch (Exception e) {
    			try {
    				throw new UnavailableException(e.getMessage());
    			} catch (UnavailableException e1) {
    				// TODO Bloc catch auto-généré
    				e1.printStackTrace();
    			}
    		}
     
     
    		try {
    			//récupération de la Connection depuis le DataSource
    			this.connection = ds.getConnection();
    			System.out.println("*******Connection : "+this.connection);
     
     
    		} catch (SQLException e) {
    			System.out.println("Exception sur l'accès à la BDD " + e);
    		}
    d'ou vient mon erreur, j'essaye de recup en localhost ??? merci

  2. #2
    Membre régulier Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Points : 74
    Points
    74
    Par défaut
    Salut,

    Quel serveur as tu ? Quelle version ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    Apache Tomcat 5.0.28 Server

  4. #4
    Membre régulier Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Points : 74
    Points
    74
    Par défaut
    Ton web.xml ne devrait pas plutôt ressembler à ça ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <resource-ref>
       <description>postgreSQL Datasource example</description>
       <res-ref-name>jdbc/increment1</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
    </resource-ref>
    --> oui d'après http://tomcat.apache.org/tomcat-5.0-doc/

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 85
    Points : 81
    Points
    81
    Par défaut
    Salut,

    Vérifies que tu as bien tous les jar qu'il faut pour les datasources:

    commons-pool
    common-dbcp
    commons-collection


    cf : http://jakarta.apache.org/commons/dbcp/downloads.html

    a+
    Xavier

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    j'ai tous verifier ce na marche tjs pas meme erreur

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
    	at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    	at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    	at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    	at javax.naming.InitialContext.lookup(Unknown Source)
    	at Model.BaseDonnees.PostGres.seConnecter(PostGres.java:136)
    	at Model.BaseDonnees.PostGres.getAllEquipeCoupe(PostGres.java:4226)
    	at Model.BaseDonnees.PostGres.main(PostGres.java:6849)
    Exception in thread "main" java.lang.NullPointerException
    	at Model.BaseDonnees.PostGres.getAllEquipeCoupe(PostGres.java:4231)
    	at Model.BaseDonnees.PostGres.main(PostGres.java:6849)
    je desespere...

  8. #8
    Membre régulier Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Points : 74
    Points
    74
    Par défaut
    Essaye de voir si il ne manquerait pas un détail bête avec ce qui est décrit ici :
    http://tomcat.apache.org/tomcat-5.0-...les-howto.html

    Je vois qu'il ont écrit quelque chose de plus que toi dans leur fichier server.xml dans la catégorie PostgreSQL... Sait-on jamais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    ca change rien

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    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
     
    javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
    	at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    	at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    	at javax.naming.InitialContext.init(Unknown Source)
    	at javax.naming.InitialContext.<init>(Unknown Source)
    	at Model.BaseDonnees.PostGres.seConnecter(PostGres.java:149)
    	at Model.BaseDonnees.PostGres.getAllEquipeCoupe(PostGres.java:4240)
    	at Model.BaseDonnees.PostGres.main(PostGres.java:6863)
    Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Unknown Source)
    	at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
    	... 7 more
    Exception in thread "main" java.lang.NullPointerException
    	at Model.BaseDonnees.PostGres.getAllEquipeCoupe(PostGres.java:4245)
    	at Model.BaseDonnees.PostGres.main(PostGres.java:6863)
    et mon code

    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
     
    Properties p = new Properties();
    		p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    		p.put(Context.PROVIDER_URL, "localhost:1099"); 
     
     
    		try {
    			initCtx  = new InitialContext(p);
    			ds = (BasicDataSource) initCtx.lookup("java:comp/env/jdbc/increment1");
    			connection = ds.getConnection();
    		} catch (NamingException e1) {
     
    			e1.printStackTrace();
     
    		} catch (SQLException e) {
     
    		e.printStackTrace();
     
    		}
    Des solutions ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 85
    Points : 81
    Points
    81
    Par défaut
    Trois choses :

    La première c'est qu'il te manque le package suivant quand meme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    root exception is java.lang.ClassNotFoundException:  org.jnp.interfaces.NamingContextFactory
    Deuxième, c 'est que depuis tomcat 5 tu peux décrire ton datasource en
    une seule ligne et non pas en mettant les param.

    Troisième et dernière chose : je crois que le code suivant c'est a utiliser
    avec jboss non ? car la classe se trouve dans le jar jbossall-client.jar...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    org.jnp.interfaces.NamingContextFactory
    p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    		p.put(Context.PROVIDER_URL, "localhost:1099");
    a+ et bon courrage !
    Xavier

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    Ok, mais ou je le chope ce pacakge ?


    et qu'est ce qui change en fait depuis tomcat 5 ?


    merci

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 85
    Points : 81
    Points
    81
    Par défaut
    Salut,

    Ce package, tu peux le trouver dans les librairies fournies par jboss. Tu
    télécharges un jboss et tu trouveras le jar dans <rep>/client/*.jar
    Il y a un jbossall-client.jar qui contient cette classe. Mais normalement tu
    n'as pas besoin de cette classe ni du code que tu as mis pour faire un appel
    a une Resource JNDI.
    Sinon, le changement dans la syntaxe de la déclaration d'une Resource semble
    plutôt être apparue depuis Tomcat 5.5... Tout est là de tout manière :

    http://tomcat.apache.org/tomcat-5.0-...ces-howto.html
    http://tomcat.apache.org/tomcat-5.5-...ces-howto.html

    a+
    Xavier

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    Je n'ai pas tout lu mais en lisant le premier post je me suis demandé si le paramètre "driverClassName" ne devrait pas plutôt s'appeler "driverName", l'erreur semble venir du fait qu'il essait d'instancier un driver de nom "" ce qui provoque forcément une erreur.
    Si ton paramètre n'a pas le bon nom, ça peut provoquer ça.

    Voici un lien sympa qui pourra peut-être mieux te renseigner:
    Doc Tomcat 5.0 non officielle

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Points : 82
    Points
    82
    Par défaut
    salut à toi je vien de lire tout ce qui vien d'etre marqué.
    Alors pour info j'ai eu le mem probleme que toi.

    J'ai reussi à debugué pour un autre probleme mais toi peut etre que ça marchera.

    Alors deja il faut que tu crées ton pool dans tomcat. JNDI etc etc
    ensuite du configure ton fichier web.xml
    Tu oublie pas dans celui ci de metre le parametre qui vont bien par exemple :

    <resource-ref>
    <description>
    reference a la ressource BDD pour le pool
    </description>
    <res-ref-name>jdbc/TutoPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>

    Ensuite il te faut configurer ton fichier contexte.xml de cette façon :

    <Context docBase="\monAppli" path="/monAppli" useNaming="true">
    <ResourceLink global="jdbc/monAppli" name="jdbc/monAppli" type="javax.sql.DataSource"/>
    </Context>
    voila moi je n'ai pas configurer mon serveur .xml et ça marchait avant coup de chance je sais pas !!

    Voila essaye deja ça et apres dis moi si ça fonctionne.

    Moi je t'explique le pb qui risque de t'arriver.
    Il va esayer de ce connecter mais ne pourra pas charger le classDrivername.
    Alors la par contre moi je bloque je sais pas trop quoi faire

Discussions similaires

  1. [Tomcat 5.5] Pool de connexion
    Par jpastier dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 25/06/2008, 09h06
  2. [Tomcat] Problème du pooling de connexion
    Par divail dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 27/07/2006, 14h27
  3. Réponses: 8
    Dernier message: 26/07/2006, 12h02
  4. [Tomcat 5.5] Pool de connexion très lent
    Par JFDelges dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 14/10/2005, 13h44
  5. [TOMCAT] Ressource globale pool de connexion partagée
    Par ren0 dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 15/03/2005, 14h05

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