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

Java EE Discussion :

[JBoss] EJB 3.0 et jdbc [EJB3 Entity]


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Par défaut [JBoss] EJB 3.0 et jdbc
    Bonjour,

    Voilà j'essaie de faire une petite application, le but est de connecté mon ejb à une base de donnée appelée banco avec jdbc.

    je m'y suis mis depuis hier mais je galère énormément.....

    voici mon fichier de persistance:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <persistence version="1.0">
        <persistence-unit name="ContactEJB3">
        <non-jta-data-source>jdbc/banco</non-jta-data-source>
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.dialect"
                value="org.hibernate.dialect.MySQLInnoDBDialect" />
        </properties>
        </persistence-unit>
    </persistence>
    j'ai aussi lu qu'il fallait mettre un fichier de configuration dans $JBOSS_HOME/server/default/deploy avec le contenu suivant :

    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
    <datasources>
    <local-tx-datasource>
    <jndi-name>ContactDS</jndi-name>
    <connection-url><![CDATA[jdbc:mysql://localhost:3306/contact]]></connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>contact</user-name>
    <password>contact</password>
    <exception-sorter-class-name>
              org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
    </exception-sorter-class-name>
    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
    <metadata>
    <type-mapping>mySQL</type-mapping>
    </metadata>
    </local-tx-datasource>
    </datasources>


    lors du déploiement j'ai une erreur dans le serveur jBoss:

    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
    10:18:54,703 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
     
    --- MBeans waiting for other MBeans ---
    ObjectName: persistence.units:jar=ContactEJB3.jar,unitName=ContactEJB3
      State: NOTYETINSTALLED
      I Depend On:
        jboss.jca:name=jdbc/banco,service=DataSourceBinding
      Depends On Me:
        jboss.j2ee:jar=ContactEJB3.jar,name=ContactManagerBean,service=EJB3
     
    ObjectName: jboss.j2ee:jar=ContactEJB3.jar,name=ContactManagerBean,service=EJB3
      State: NOTYETINSTALLED
      I Depend On:
        persistence.units:jar=ContactEJB3.jar,unitName=ContactEJB3
     
    --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
    ObjectName: jboss.jca:name=jdbc/banco,service=DataSourceBinding
      State: NOTYETINSTALLED
      Depends On Me:
        persistence.units:jar=ContactEJB3.jar,unitName=ContactEJB3
    j'ai fait un petit client tout simple qui a un fichier qui s'appelle

    jdni.properties et son contenu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
    java.naming.provider.url=localhost:1099

    je vous remercie d'avance....

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 51
    Par défaut
    Je ne sais pas ce que tu cherches à faire exactement, mais pour utiliser jdbc, nul besoin d'un fichier de configuration, il te faut juste le driver jdbc de ton sgbd.

    Là visiblement tu tente d'utiliser l'implémentation Hibernate de JPA. L'idée étant de configurer une source de données jdbc qui se sert d'un pool de connexion ( sur glassfish c'est faisable graphiquement, d'après ce que j'ai lu c'est pas le cas sur JBoss, donc deux options, à la console, ou bien dans un .xml ).

    Car visiblement, d'après le message NOTYETINSTALLED en haut de ton log, il doit manquer quelque chose. Tente voir de retirer la source de donnée dans ton persistence.xml, et de remplacer ça par des property qui vont bien pour spécifier les infos de connexion à la base. Pense aussi à ajouter le driver jdbc dans le path de ton serveur, sans quoi de toute façon ça ne fonctionnera pas puisque JPA se base sur jdbc pour les accés base de donnée.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Par défaut EJB 3.0 et jdbc
    Merci pour ta réponse et j'en profite pour donner la solution qui peut-être n'est pas correct mais ça a marché pour mon problème....

    Tout d'abord j'ai découvert qu'il y a un dossier qui est dans :

    $HOME_JBOSS\docs\examples\jca le répertoire d'installation de Jboss plusieurs exemples de connexion que l'on veuille faire.

    voici le contenu du fichier de persistance:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <persistence>
      <persistence-unit name="FirstEjb3Tutorial">
        <jta-data-source>java:/ejb3ExampleDS</jta-data-source>
        <properties>
          <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
        </properties>
      </persistence-unit>
    </persistence>
    dans le répertoire $HOME_JBOSS\server\default\deploy j'ai ajouté un fichier que j'ai nommé myFavouriteName-ds et son contenu est le suivant:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <datasources>
    	<local-tx-datasource>
    		<jndi-name>ejb3ExampleDS</jndi-name>
    		<connection-url>jdbc:mysql://localhost:3306/formacion</connection-url>
    		<driver-class>com.mysql.jdbc.Driver</driver-class>
    		<user-name>formacion</user-name>
    		<password>formacion</password>
    		<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    		<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
    		<metadata>
    			<type-mapping>mySQL</type-mapping>
    		</metadata>
    	</local-tx-datasource>
    </datasources>

    j'ai aussi du ajouter les connecteurs:

    ojdbc14.jar
    mysql-connector-java-5.0.4-bin dans le répertoire:

    $HOME_JBOSS\server\default\lib


    et voilà j'ai réussi a me connecté sur une basse de donnée MySQL.....


    A+

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

Discussions similaires

  1. [EJB] [JBoss] EJB ne se déploie pas - pas de message d'erreur
    Par Sapience dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 10/01/2006, 16h41
  2. [JBoss]jboss, ejb et ant
    Par lahiane dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 20/07/2005, 12h31
  3. [EJB][JBOSS] ejb column cannot be null
    Par alfredeu dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 14/04/2005, 09h40
  4. [Jboss][EJB]Demande de confirmation sur la structure.
    Par swirtel dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 17/02/2005, 12h30
  5. [JBOSS - EJB] MonoThreading d'un MDB
    Par seb55555 dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 14/02/2005, 15h56

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