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é :
Par la suite, dans eclipse, j'ai fait new>Seam Generate Entities avec un reverse engineer sur l'une de mes tables.WARN [PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
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 :
En effet, lorsque je regarde les logs, je vois bien que le composant n'a pas été instancié.ERROR [SeamPhaseListener] swallowing exception
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'tabletestHome' resolved to null
Dans ce cas, j'ai recopier les fichiers du src/hot dans mon src/main.
J'obtient bien alors l'initialisation du composant :
Par contre j'obtient l'erreur suivante lorsque je veux aller sur ma tabletestList :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
J'ai essayé de nombreuses solutions mais rien y fait. Si vous avez une piste, se serait avec plaisirGRAVE: 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
............![]()
Voici mes fichiers de config :
persistence.xml
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 <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>
Merci pour votre aide
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>![]()
Partager