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]tomcat+pool connexion


Sujet :

Tomcat et TomEE Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 17
    Points : 8
    Points
    8
    Par défaut [Tomcat]tomcat+pool connexion
    Salut

    j'ai utilisé une pool de connexion pour connecter à la base de donnée , via une servelet en utilisant ce code:
    ////////////////////////////////////////
    Context initCtx = new InitialContext();
    ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/Base");
    con = ds.getConnection();
    ////////////////////////////////////////
    Mais je veux utiliser du jsp directement sans l'utilisation d'une servlet il m'affiche une exception(Name Base is not bound in this Context ...).
    Donc je veux bien savoir :
    - S'il est possible d'appeler ce code à partir du jsp?
    -il y a t'il des liens de help , autres que les faqs du developpez.com

    Merci bien d'avance


    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 4
    Points
    4

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 106
    Points : 130
    Points
    130
    Par défaut
    pour info :

    il ne faut pas faire trop de différence entre servlet et JSP.
    Toute page JSP que tu écris est transformée par le compilateur jasper en servlet JAVA.
    Tu peux regarder dans ton répertoire work\org\apache\jsp.

    Donc si ca marche avec une servlet, ca doit marcher avec une page JSP. Si ce n'est pas le cas, il doit y'avoir un problème dans ton server.xml et dans la configuration de ta datasource.
    PHP / J2EE

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    merci,

    C'est vrai que j'ai un problème dans la datasource , juste j'ai supprimé la datasource et reconfiguré une autre et tout va bien .

    Mais une autre problème apparît c'est que mon site devient très lent.
    et il plante avec des messages d'erreurs suivants:
    1.java.lang.NullPointerException
    2.[pilote ODBC Access]SQLException : l'objet est incorrect ou indéfini
    3.[pilote ODBC Access]SQLException :impossible d'ouvrir d'autres tables.

    Je veux savoir est ce que je dois changer le code sachant que j'ai utilisé la connexion à la base de donnée sans pool et maintenant avec pool et j'ai modifié que la partie de pointer sur la base. Notant que la configuration du datasource marche .

    merci d'avance.

  5. #5
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Pourrais tu nous montrer ton code (entre les balises du même nom)?
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Salut

    voici la méthode getcon pour pointer sur la datasource définie dans une classe connexionBean :
    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
     
        public Connection getCon() {
     
             Context initCtx = null;
             try {
               initCtx = new InitialContext();
             }
             catch (NamingException ex1) {
             System.out.println("Erreur de naming......" + ex1.getMessage());
             }
             try {
               ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/BDOPERATION");
             }
             catch (NamingException ex) {
               System.out.println("Erreur  lookup......" + ex.getMessage());
             }
     try {
                 con = ds.getConnection();
               }
               catch (SQLException ex) {
                 System.out.println("Erreur dans getConnection :: " + ex.getMessage());
               }
    }
    puis j'appele la méthode et je crée une statement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Connection con =   connexionBean.getCon();
    Statement stmt = con.createStatement();
     ResultSet        rs ;
    A chaque fois je veux afficher une select je fais comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    rs= stmt.executeQuery ("SELECT * from tiers");
    while (rs.next()){
    .......
    }
    rs.close();
    puis après avoir appeler ce code autant je veux je ferme la connection
    merci pour l'aide.

  7. #7
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    A premiere vue ca m'a l'air correct!

    Pourrais tu montrer les traces d'exception?
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    voici les traces de l'exception
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    ApplicationDispatcher[/]: Servlet.service() for servlet debugjsp threw exception
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.
    	at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
    	at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
    	at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
    	at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
    	at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
    	at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:188)
    	at org.apache.jsp.app_005f3_005f1_005f1_jsp._jspService(app_005f3_005f1_005f1_jsp.java:342)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:742)
    	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:630)
    	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:542)
    	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1002)
    	at org.apache.jsp.index_jsp._jspService(index_jsp.java:702)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:509)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    	at java.lang.Thread.run(Thread.java:534)
    StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exception
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.
    	at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
    	at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
    	at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
    	at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
    	at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
    	at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:188)
    	at org.apache.jsp.app_005f3_005f1_005f1_jsp._jspService(app_005f3_005f1_005f1_jsp.java:342)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:742)
    	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:630)
    	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:542)
    	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1002)
    	at org.apache.jsp.index_jsp._jspService(index_jsp.java:702)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:509)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    	at java.lang.Thread.run(Thread.java:534)

  9. #9
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    En cherchant rapidement j'ai trouvé cela :

    infos

    C'est tout en bas de la page!

    Je vais essayé de chercher encore le pourquoi du comment!

    Tu utilises une source ODBC?
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    oui j'utilise une source odbc

    merci pour l'aide

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Salut

    je supçonne que le problème provient de stmt.close et con.close.
    En faite j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Statement stmt = con.createStatement();
    A chaque fois je veux afficher une select je fais comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    rs= stmt.executeQuery ("SELECT * from tiers"); 
    while (rs.next()){ 
    ....... 
    } 
    rs.close();
    mais je ferme le stmt qu'à la fin de ma page une seule fois et non pas pour chaque resultset.
    Est ce que je dois spécifier pour chaque requete une stmt et je la ferme après l'execution ..?
    Est ce que à chaque fois je récupère la connection ou une seule fois?
    (sachant j'utilise le pool de connexion).

    merci d'avance

  12. #12
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Effectivement tu dois fermer ton objet smtp apres chaque requete (imperatif) car il contient des references sur la derniere requete executé.Par contre tu dois reutiliser la meme connexion à chaque fois ... c'est conseillé d'ailleur
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


Discussions similaires

  1. [ Tomcat ][ Servlet ] Pool de connexion jdbc mssqlserver
    Par Néo-Tony dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 01/02/2006, 17h30
  2. [pool connexion tomcat]
    Par agougeon dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/01/2006, 15h18
  3. [tomcat] pb de connexion
    Par Lady_jade dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 17/10/2005, 14h50
  4. [Tomcat]problem de connexion de tomcat
    Par tarik75 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/06/2005, 20h02
  5. [débutant][tomcat][jdbc] pool de connection DBCP
    Par zozolh2 dans le forum JDBC
    Réponses: 6
    Dernier message: 19/05/2004, 17h41

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