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 :

[SERVLET] [TOMCAT] Utilisation de getConnection()


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut [SERVLET] [TOMCAT] Utilisation de getConnection()
    Salut,
    voilà je me pose une petite question : quand on définit le DataSource dans Tomcat, on définit un username et un password unique pour toutes les connexions du pool, ensuite on récupère ces connexions par un getConnexion() tout court. Est-il possible d'utiliser plutôt un getConnexion(user, pwd) afin de "personnaliser" les connexions ?

  2. #2
    Membre confirmé

    Inscrit en
    Juillet 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 116
    Points : 514
    Points
    514
    Par défaut
    La réponse est oui ...

    En effet, tu récupére ta DataSource à travers le JNDI ...
    Tu ne sais pas quel est l'implementation de cet objet DataSource mais la seul chose dont tu peux être certain, c'est que cette implémentation rempli le contrat de la DataSource, c'est à dire propose les méthodes décrit dans l'interface javax.sql.DataSource ...

    Si tu regarde la doc J2EE, tu verra que l'interface DataSource propose la méthode getConnection() et getConnection(String user, String pass) ...

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    je suis bien d'accord avec toi, le problème c'est que ça foire...donc je me demande s'il y a une subtilité qui m'échappe ?

  4. #4
    Membre confirmé

    Inscrit en
    Juillet 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 116
    Points : 514
    Points
    514
    Par défaut
    "Ca foire" ... c'est à dire ... un peu plus de précision ne serait pas de refus ... car je n'ai pour le moment pas de don de voyance ... et même avec des hypothése et de la déduction, le nombre d'erreur qui améne à la phrase "ca foire" sont légions

    Donc il y a une exception ? si ou laquelle ?
    ou alors quelque chose de visible ... enfin un truc à se mettre sous la dent ...

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    ben voilà, j'aimerais bien avoir qq chose à me mettre sous la dent moi-aussi, mais à part une erreur 500 du serveur, il n'y a pas d'exception levée...par contre, si je fais un getConnection() tout seul tout marche...

  6. #6
    Membre confirmé

    Inscrit en
    Juillet 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 116
    Points : 514
    Points
    514
    Par défaut
    Rien dans les fichiers de log de tomcat ?

    est ce que ton getConnection() se trouve dans un try .. catch si c'est le cas, est ce que tu affiche l'exception ou tu l'ignore et tu ne fait rien ...

    Enfin sinon la derniére solution est de mettre des System.out.println() un peu partout et ainsi voir les méthodes valide et executé pas à pas ...

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    oui, oui, il ya bien un try-catch, et l'exception n'est pas levée (pas de message récupéré), je fais des "print" ligne par ligne ou quasiment, mais que dalle...
    par contre dans le log de Tomcat, j'ai ça :

    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
    2003-08-28 14:43:52 StandardWrapperValve[testdata3]: "Servlet.service()" pour la servlet testdata3 a généré une exception
    java.lang.UnsupportedOperationException
    	at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:125)
    	at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:329)
    	at servlets.testdata3.doPost(testdata3.java:59)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:263)
    	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
    	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
    	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:562)
    	at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:679)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
    	at java.lang.Thread.run(Thread.java:534)

  8. #8
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    ca doit etre que le datasource que tu utilises ne supporte pas l'operation, regarde le source pour t'en assurer.

    Voici le code du dcdb PooledConnection qu'utilise Tomcat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
        public Connection getConnection(String uname, String passwd)
            throws SQLException
        {
            throw new UnsupportedOperationException();
        }
    Cherche pas plus loin.
    Regarde si une nouvelle version supporte l'operation, ou change de pool.

    Bon courage.
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    ...donc ça vient du PoolingDataSource, c'est bizarre non ? d'où ma question originale...quelle est la subtilité qui m'échappe qui permette d'utiliser getConnection(String uname, String passwd) ?

  10. #10
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    voir post plus haut.

    Bon courage.
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    oops...les messages se sont croisés, avec ce genre de code on peut en rajouter des méthodes...et faire passer des heures aux utilisateurs à essayer de comprendre le pourquoi du comment
    bon, qui pourra me conseiller sur un autre pool ou je puisse utiliser une méthode équivalente ?

  12. #12
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    tout server certifiee j2ee devrait le faire.

    J'utilise Orion / oc4j, et, semble-t-il (jamais essaye), c'est supporte.

    Aussi, il semble que Tyrex le supporte. Tyrex, je crois est utilise par defaut avec JBoss.
    http://tyrex.sourceforge.net

    Regarde comment configurer Tomcat pour qu'il utilise Tyrex comme pool.
    Je viens de regarder, et c'est peu prometteur:
    http://tyrex.sourceforge.net/tomcat


    To use the Tyrex connection pools you will have to integrate them with Tomcat yourself.
    Mais comme je te dis, je pense que c'est fait si tu utilises Jboss...

    Bon courage.
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  13. #13
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    merci, j'ai déjà essayé Tyrex, après avoir bien galéré pour trouver des infos, mais sans succès , vais peut-être essayer jboss...

  14. #14
    Membre habitué

    Profil pro
    Inscrit en
    Février 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 119
    Points : 136
    Points
    136
    Par défaut
    Si tu essayes Jboss, il y a pas tellement longtemps, j'ai répondu à un post pour les Pool de connection et Jboss.


    http://www.developpez.net/forums/vie...133&highlight=

    Ca peut peut-être t'aider ?

    :

  15. #15
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    voilà , j'ai tenté d'essayer JBOSS, je l'ai installé, j'ai tapoté
    [http://localhost:8080/jmx-console dans explorer et j'ai obtenu ça (je ne mets pas tout)

    • Etat HTTP 500 -

      --------------------------------------------------------------------------------

      type Rapport d''exception

      message

      description Le serveur a recontrer une erreur interne () qui l'a empèché de satisfaire la requête.

      exception

      org.apache.jasper.JasperException: Unable to compile class for JSP

      An error occurred at line: -1 in the jsp file: null

  16. #16
    Membre habitué

    Profil pro
    Inscrit en
    Février 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 119
    Points : 136
    Points
    136
    Par défaut
    - Quelle version de Jboss ?
    - Avec Tomcat ou sans ?

  17. #17
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    Salut,l
    la 3.2 avec Tomcat

  18. #18
    Membre habitué

    Profil pro
    Inscrit en
    Février 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 119
    Points : 136
    Points
    136
    Par défaut
    Alors la c'est pas normal.

    Alors, va voir dans le fichier des log de démarage si tout s'est bien passé.

    Si tu démarre la version default, c'est dans JBOSS_HOME/server/default/log/boot.log

  19. #19
    Membre habitué

    Profil pro
    Inscrit en
    Février 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 119
    Points : 136
    Points
    136
    Par défaut
    Avant d'aller plus loin,
    essaye

    http://localhost:8080/jmx-console/

    Avec le / final.
    Pour lui dire d'aller prendre le fichier index.jsp


    Je viens de le faire avec la même version de Jboss et ca marche

    http://127.0.0.1:8080/jmx-console/index.jsp

  20. #20
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    non, il prend bien automatiquement index.jsp

    le seul problème semble être
    • 16:11:27,504 DEBUG [DefaultManagedObjectFactoryMap] Failed to find factory for event: javax.management.Notification[source=jboss.system:service=ServiceController,type= org.jboss.system.ServiceMBean.create,sequenceNumber=4,timeStamp=1062511887504,message=null,userData=jboss.management.local:j2eeType=J2EEDomain,name=Manager]

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 14
    Dernier message: 08/08/2007, 18h36
  2. servlet tomcat eclipse
    Par delaigue dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 08/07/2004, 14h02
  3. [servlet][formulaire] utilisation de 2 servlet dans 1 form
    Par luc_pichot dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/05/2004, 17h55
  4. [Débutant] explication Servlet-TOMCAT
    Par davycrocket dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 10/05/2004, 11h13
  5. [Servlet][Tomcat] Upload d'un fichier sur le serveur
    Par gandalf_le_blanc dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 19/04/2004, 13h56

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