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

JPA Java Discussion :

Problème de configuration persistence.xml maven


Sujet :

JPA Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Points : 109
    Points
    109
    Par défaut Problème de configuration persistence.xml maven
    Bonjour à tous.

    Un souci au niveau de la config de mon app. Mon fichier persistence se trouver sur: src/main/resources/META-INF/persistence.xml, j'ai le fichier de ressource glassfish qui se trouver sur src/main/webapp/WEB-INF/glassfish-resources.xml. Voici le contenu du pom.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
     <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                    <includes>
                        <include>**/*.sql</include>
                        <include>**/*.properties</include>
                    </includes>
                </resource>
            </resources>
    ...
    A la compilation tous se passent très, sauf que à l'exécution je reçois le message suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName PriorisPU
    	at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:138)
    	at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:171)
    	at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:521)
    	at be.project.prioris.ejb.UserFacade.findbyLogin(UserFacade.java:119)
    Le contenu du fichier persistence.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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" 
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
      <persistence-unit name="PriorisPU" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>java:app/jdbc/prioris</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties>
          <!-- Register custom uuid generator -->
          <property name="eclipselink.session.customizer" value="be.project.prioris.utils.UUIDSequence"/>
          <!-- Properties set to show SQL statements -->
          <property name="eclipselink.logging.level.sql" value="FINEST"/>
          <property name="eclipselink.logging.parameters" value="true"/>
          <property name="javax.persistence.schema-generation.database.action" value="create"/>
        </properties>
      </persistence-unit>
    </persistence>
    Le fichier glassfish-resources.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
    23
    24
    25
    26
    27
    28
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
    <resources>
        <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" 
                              connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" 
                              connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" 
                              connection-validation-method="auto-commit" datasource-classname="org.postgresql.ds.PGSimpleDataSource" 
                              fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" 
                              is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" 
                              match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" 
                              name="priorisPool" non-transactional-connections="false" pool-resize-quantity="2" 
                              res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" 
                              validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">             
     
                <!-- local configuration -->
                <property name="serverName" value="localhost"/>
                <property name="portNumber" value="5432"/>
                <property name="databaseName" value="prioris"/>
                <property name="User" value="***"/>
                <property name="Password" value="***"/>
                <property name="URL" value="jdbc:postgresql://localhost:5432/***"/>
                <property name="driverClass" value="org.postgresql.Driver"/>
        </jdbc-connection-pool>
     
        <jdbc-resource enabled="true" jndi-name="java:app/jdbc/prioris" object-type="user" pool-name="priorisPool"/>
     
    </resources>
    PS: Si le fichier de persistence est renseigné directement c'est à dire en y ajoutant /META-INF/, l'erreur se reproduit à l'exécution.

    Quelqu'un à une idée du problème?

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    dans les resources, seul les fichiers properties et sql sont inclus dans ton archive donc c'est normal que cela ne fonctionne pas !

    pour que cela marche il faut que tu ajoutes le persistence.xml dans les "include" ou alors que tu déplace le répertoire META-INF a la racine de tes sources
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/07/2012, 22h02
  2. Problème de configuration de persistence.xml
    Par zied87 dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 3
    Dernier message: 02/01/2011, 16h36
  3. Problème avec le persistence.xml
    Par Samildanach dans le forum JPA
    Réponses: 2
    Dernier message: 04/11/2008, 14h27
  4. [EJB3 Entity] Configuration persistence.xml pour base PostGreSQL
    Par MaInR0 dans le forum Java EE
    Réponses: 1
    Dernier message: 09/01/2008, 11h19

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