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 :

JNDI et Tomcat


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
    Août 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2002
    Messages : 36
    Par défaut JNDI et Tomcat
    Bonjour,

    J'aimerais paramétrer dans Tomcat mon accès à la base de donnée par JNDI. J'ai trouvé quelques explications sur le Web mais pas d'exemple.
    Je dois accèder à une base de donnée Oracle.

    Pour l'accès par JDBC j'ai dans un fichier ini, les entrées suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [Database]
    Driver=oracle.jdbc.driver.OracleDriver
    Url=jdbc:oracle:thin:@frtlr204.soltim:1521:ANETODV4
    Login=i4udc8_user
    Password=i4udc8_user
    Pour JNDI, j'ai ça dans mon fichier ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    db.datasource.jndi.prefix=
    db.datasource.jndi.name=java\:comp/env/jdbc/i4udc8
    Ci-joint le code qui gère le datasource dans mon WebService :
    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
        public void initDb() throws Exception {
            try {
                // Lecture du dataSource
                Context context = new InitialContext();
                logger.debug("context = " + context);
                if (context == null) {
                    throw new Exception("Boom - No Context");
                }
                // Intérrogation du context de nomage
                String nameJndi = FabriqueConfigurationManager.getInstance().getDataSourceJndiName();
                String prefixJdni = FabriqueConfigurationManager.getInstance().getDataSourceJndiPrefix();
                logger.info("nom Jndi 1 = " + nameJndi);
                logger.info("préfixe Jdni 1 = " + nameJndi);
                ds = (DataSource) context.lookup(prefixJdni + nameJndi);
                logger.info("ds = " + ds);
            } catch (Exception e) {
                logger.error("Pb d'intialisation du datasource", e);
                throw e;
            }
    Quelqu'un peut-il m'aider ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2002
    Messages : 36
    Par défaut Complément d'info
    J'ai mis à jour mon server.xml de Tomcat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	<Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource" :>
     
    	<ResourceParams name="jdbc/myoracle"
                  driverClassName="oracle.jdbc.OracleDriver"
                  url="jdbc:oracle:thin:@frtlr204.soltim:1521:ANETODV4"
                  username="i4udc8_user" password="i4udc8_user" maxActive="20" maxIdle="10"
                  maxWait="-1"/> 
    	</ResourceParams>
    Résultat (dans la log) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    2009-12-08 10:04:21,620 [HttpConnection-8080-1] DEBUG com.soltim.poleFlux.service.impl.ServiceBeneficiairesImpl  - context = javax.naming.InitialContext@19e8329
    2009-12-08 10:04:21,620 [HttpConnection-8080-1] INFO  com.soltim.poleFlux.service.impl.ServiceBeneficiairesImpl  - nom Jndi 1 = java:comp/env/jdbc/myoracle
    2009-12-08 10:04:21,620 [HttpConnection-8080-1] INFO  com.soltim.poleFlux.service.impl.ServiceBeneficiairesImpl  - préfixe Jdni 1 = java:comp/env/jdbc/myoracle
    2009-12-08 10:04:21,620 [HttpConnection-8080-1] ERROR com.soltim.poleFlux.service.impl.ServiceBeneficiairesImpl  - Pb d'intialisation du datasource
    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
    Faut-il mettre quelque chose dans le fichier context.xml ?
    Y-a-t-il un moyen de tester si mon paramétrage Tomcat est OK ?

Discussions similaires

  1. Utilisation du contexte JNDI de Tomcat
    Par anisj1m dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 23/01/2012, 09h47
  2. JNDI sous Tomcat, class not found exception
    Par ChristopheH dans le forum Tomcat et TomEE
    Réponses: 16
    Dernier message: 19/12/2009, 01h24
  3. Problème de configuration de datasources via JNDI dans tomcat
    Par flo_rian dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 11/06/2009, 10h21
  4. tomcat 6 - JNDI syntaxe context.xml fichier .properties
    Par plm12 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 30/09/2008, 16h51
  5. Tomcat 6 + JNDI
    Par Dvoraky dans le forum Tomcat et TomEE
    Réponses: 16
    Dernier message: 28/02/2008, 11h28

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