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

Seam Java Discussion :

Erreur entities : Could not instantiate Seam component


Sujet :

Seam Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Erreur entities : Could not instantiate Seam component
    Bonjour,

    Je débute un projet Seam et bloque depuis 2 jours sur une même erreur sans arriver à trouver la cause du problème.

    Je vais essayé de retracer au mieux tout ce que j'ai pu faire :

    J'ai donc créer un projet avec eclipse avec la version de seam 2.2.2

    Par la suite j'ai configuré un serveur tomcat 6, et j'ai donc apporté quelques modifications à mon projet généré afin qu'il puisse fonctionner sous tomcat.

    J'obtient alors la page d'accueil, avec au final plus aucune erreur excepté :

    WARN [PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
    Par la suite, dans eclipse, j'ai fait new>Seam Generate Entities avec un reverse engineer sur l'une de mes tables.

    Lorsque je vais sur : tabletestList.xhtml, la liste est vide. Si je souhaite créer une nouvelle entrée, je me log en tant qu'admin et j'obtient l'erreur suivante :

    ERROR [SeamPhaseListener] swallowing exception
    javax.el.PropertyNotFoundException: Target Unreachable, identifier 'tabletestHome' resolved to null
    En effet, lorsque je regarde les logs, je vois bien que le composant n'a pas été instancié.

    Dans ce cas, j'ai recopier les fichiers du src/hot dans mon src/main.

    J'obtient bien alors l'initialisation du composant :

    INFO [Component] Component: tabletestHome, scope: CONVERSATION, type: JAVA_BEAN, class: org.domain.seamproject.session.TabletestHome
    INFO [Component] Component: tabletestList, scope: EVENT, type: JAVA_BEAN, class: org.domain.seamproject.session.TabletestList
    Par contre j'obtient l'erreur suivante lorsque je veux aller sur ma tabletestList :

    GRAVE: Error Rendering View[/TabletestList.xhtml]
    org.jboss.seam.InstantiationException: Could not instantiate Seam component: tabletestList
    ...........

    Caused by: java.lang.IllegalArgumentException: EntityManagerFactory not found in JNDI : java:/seamprojectEntityManagerFactory

    ...............

    Caused by: javax.naming.NameNotFoundException: Le Nom seamprojectEntityManagerFactory n'est pas lié à ce Contexte
    ............
    J'ai essayé de nombreuses solutions mais rien y fait. Si vous avez une piste, se serait avec plaisir

    Voici mes fichiers de config :
    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
    <persistence-unit name="seamproject">
            <provider>org.hibernate.ejb.HibernatePersistence</provider> 
            <non-jta-data-source>java:/seamprojectDatasource</non-jta-data-source> 
            <properties> 
                <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
                <property name="hibernate.hbm2ddl.auto" value="update" /> 
                <property name="hibernate.show_sql" value="true" /> 
                <property name="hibernate.format_sql" value="true" /> 
                <property name="hibernate.default_catalog" value="ter"/>
                 <property name="jboss.entity.manager.factory.jndi.name"
                value="java:/seamprojectEntityManagerFactory" />
            </properties> 
    </persistence-unit>
    components.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
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <components xmlns="http://jboss.com/products/seam/components"
                xmlns:core="http://jboss.com/products/seam/core"
                xmlns:persistence="http://jboss.com/products/seam/persistence"
                xmlns:drools="http://jboss.com/products/seam/drools"
                xmlns:bpm="http://jboss.com/products/seam/bpm"
                xmlns:security="http://jboss.com/products/seam/security"
                xmlns:mail="http://jboss.com/products/seam/mail"
                xmlns:web="http://jboss.com/products/seam/web"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns:transaction="http://jboss.com/products/seam/transaction"
                xsi:schemaLocation=
                    "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
                     http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
                     http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd
                     http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd
                     http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
                     http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd
                     http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
                     http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd
                      http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.2.xsd">
     
       <!-- <core:init debug="true" jndi-pattern="@jndiPattern@"/>-->
     
    	<core:init transaction-management-enabled="false" />
     
       <core:manager concurrent-request-timeout="500"
                     conversation-timeout="120000"
                     conversation-id-parameter="cid"
                     parent-conversation-id-parameter="pid"/>
    	<transaction:no-transaction />
     
       <web:hot-deploy-filter url-pattern="*.seam"/>
     
    <!-- Que je supprime les deux lignes dessous ou non ça ne change rien -->
     
       <persistence:managed-persistence-context name="entityManager" auto-create="true"
       							persistence-unit-jndi-name="java:/seamprojectEntityManagerFactory"
                                entity-manager-factory="#{entityManagerFactory}"/>
     
      <factory name="session" method="#{entityManager.getDelegate( )}"
              scope="STATELESS" auto-create="true" />
     
       <drools:rule-base name="securityRules">
          <drools:rule-files><value>/security.drl</value></drools:rule-files>
       </drools:rule-base>
     
       <security:rule-based-permission-resolver security-rules="#{securityRules}"/>
     
       <security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>
     
       <event type="org.jboss.seam.security.notLoggedIn">
          <action execute="#{redirect.captureCurrentView}"/>
       </event>
       <event type="org.jboss.seam.security.loginSuccessful">
          <action execute="#{redirect.returnToCapturedView}"/>
       </event>
     
       <mail:mail-session host="localhost" port="25"/>
     
    </components>
    Merci pour votre aide

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Problème résolu :

    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
     <persistence-unit name="seamproject"  transaction-type="RESOURCE_LOCAL">
            <provider>org.hibernate.ejb.HibernatePersistence</provider> 
            <jta-data-source>java:comp/env/seamprojectDatasource</jta-data-source>    
            <properties> 
                <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
                <property name="hibernate.hbm2ddl.auto" value="update" /> 
                <property name="hibernate.show_sql" value="true" /> 
                <property name="hibernate.format_sql" value="true" /> 
                <property name="hibernate.default_catalog" value="ter"/>
               <property name="jboss.entity.manager.factory.jndi.name"
                value="java:/seamprojectEntityManagerFactory" />    
               <property name="hibernate.query.factory_class"
                value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory" />
            </properties> 
    </persistence-unit>
    components.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
    <core:init transaction-management-enabled="false"/>	
     
       <core:manager concurrent-request-timeout="500"
                     conversation-timeout="120000"
                     conversation-id-parameter="cid"
                     parent-conversation-id-parameter="pid"/>
     
       <transaction:entity-transaction entity-manager="#{entityManager}"/>
     
       <web:hot-deploy-filter url-pattern="*.seam"/>
     
       <persistence:entity-manager-factory name="entityManagerFactory"
            persistence-unit-name="seamproject" />
       <persistence:managed-persistence-context name="entityManager"
        auto-create="true" entity-manager-factory="#{entityManagerFactory}" />
    Ensuite une grosse configuration de hibernate car j'ai rencontré beaucoup d'erreurs quant à l'ORM.

    J'ai du faire pas mal d'autres modifs ...
    Voila, ouf !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/10/2012, 00h08
  2. Could not instantiate Seam component:
    Par gl0be dans le forum Seam
    Réponses: 2
    Dernier message: 13/01/2009, 17h09
  3. Réponses: 2
    Dernier message: 23/05/2007, 11h40
  4. Réponses: 1
    Dernier message: 22/11/2006, 12h21
  5. Réponses: 1
    Dernier message: 12/07/2006, 11h26

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