Ma classe est dans un package impl. Mais actuellement c'est commenté.
Ma classe est dans un package impl. Mais actuellement c'est commenté.
il y a peu être quelque chose a configurer au niveau du conteneur d'EJB ?
Non, rien coté conteneur d'EJB. C'est tout de même assez simple comme exemple. Est-ce que ca fonctionne pour toi sans utilisation de mappedName?
Absolument pas. J'ai toujours exactement la même erreur. Je trouve ça bizarre aussi. J'ai mysql5, visiblement pas de soucis de dépendance. J'ai un peu tout essayer. Jdk 1.6 pour macOS. voilà pour les infos complementaires.
je n'arrive pas à reproduire ton erreur, avec ou sans mappedName...
je suis sous Mac également avec Java 6.
Tu pourrais me donner la liste des jar utilisés dans le projet que tu as reproduit ? Sait-on jamais.
edit: un doute me vient, tu fais quoi comme opérations pour déployer l'application sur le serveur exactement ? Tu crées un ear ? J'utilise eclipse, et j'utilise simplement la commande run on server ( la fleche blanche sur rond vert ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part asadmin deploy monappli.ear
Car là je viens de créer un projet EAR associé à mon dynamic web project, le log est un peu différent, mais l'erreur est la même, tu as quelque chose de particulier dans ton web.xml ? Il doit forcément y avoir un soucis quelque part ( j'ai la version 2 encore, pas la 2.1 ).
Et le .ear tu le génère comment ?
nouveau log :
edit: Je viens d'exporter mon projet dans une archive ear, que j'ai déployée avec ta commande, j'ai exactement le même problème. Le pire, c'est que je ne trouve personne sur le net qui ait réellement le même soucis que moi. Certains ont le même, mais lors de l'utilisation de jsf.
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111 [#|2009-02-10T12:23:54.347+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.tools.admin|_ThreadID=11;_ThreadName=httpWorkerThread-4848-1;/private/tmp/s1astempdomain1server912457762/Test08EAR.ear;|ADM1064:The upload file at [/private/tmp/s1astempdomain1server912457762/Test08EAR.ear] exists and will be overwritten.|#] [#|2009-02-10T12:23:54.348+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.tools.admin|_ThreadID=11;_ThreadName=httpWorkerThread-4848-1;/private/tmp/s1astempdomain1server912457762/Test08EAR.ear;|ADM1006:Uploading the file to:[/private/tmp/s1astempdomain1server912457762/Test08EAR.ear]|#] [#|2009-02-10T12:23:55.111+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Config]: 2009.02.10 12:23:55.111--ServerSession(15453851)--The alias name for the entity class [class entity.Voiture] is being defaulted to: Voiture. |#] [#|2009-02-10T12:23:55.112+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Config]: 2009.02.10 12:23:55.112--ServerSession(15453851)--The table name for entity [class entity.Voiture] is being defaulted to: VOITURE. |#] [#|2009-02-10T12:23:55.116+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Info]: 2009.02.10 12:23:55.116--ServerSession(15453851)--TopLink, version: Oracle TopLink Essentials - 2006.8 (Build 060908) |#] [#|2009-02-10T12:23:55.119+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Config]: 2009.02.10 12:23:55.118--ServerSession(15453851)--Connection(5730417)--connecting(DatabaseLogin( platform=>MySQL4Platform user name=> "" connector=>JNDIConnector datasource name=>null )) |#] [#|2009-02-10T12:23:55.120+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Config]: 2009.02.10 12:23:55.120--ServerSession(15453851)--Connection(4530981)--Connected: jdbc:mysql://localhost:3306/jpa User: root@localhost Database: MySQL Version: 5.1.30 Driver: MySQL-AB JDBC Driver Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} ) |#] [#|2009-02-10T12:23:55.121+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Config]: 2009.02.10 12:23:55.121--ServerSession(15453851)--Connection(14644914)--connecting(DatabaseLogin( platform=>MySQL4Platform user name=> "" connector=>JNDIConnector datasource name=>null )) |#] [#|2009-02-10T12:23:55.123+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Config]: 2009.02.10 12:23:55.122--ServerSession(15453851)--Connection(11116684)--Connected: jdbc:mysql://localhost:3306/jpa User: root@localhost Database: MySQL Version: 5.1.30 Driver: MySQL-AB JDBC Driver Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} ) |#] [#|2009-02-10T12:23:55.124+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Info]: 2009.02.10 12:23:55.124--ServerSession(15453851)--file:/Users/arnaudboeglin/Dev/glassfish/domains/domain1/applications/j2ee-apps/Test08EAR/Test08_war/WEB-INF/classes/-jpa login successful |#] [#|2009-02-10T12:23:55.125+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Config]: 2009.02.10 12:23:55.125--ServerSession(15453851)--Connection(15780319)--disconnect |#] [#|2009-02-10T12:23:55.126+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.stream.out|_ThreadID=17;_ThreadName=Thread-39;|[TopLink Info]: 2009.02.10 12:23:55.126--ServerSession(15453851)--file:/Users/arnaudboeglin/Dev/glassfish/domains/domain1/applications/j2ee-apps/Test08EAR/Test08_war/WEB-INF/classes/-jpa logout successful |#] [#|2009-02-10T12:23:55.255+0100|WARNING|sun-appserver-pe9.1|javax.enterprise.resource.jdo.codegen.ejb|_ThreadID=17;_ThreadName=Thread-39;_RequestID=3adf1d51-a933-4410-a006-121dc48fcb2a;|JDO76609: Got SQLException executing statement "CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(38), PRIMARY KEY (SEQ_NAME))": com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'sequence' already exists|#] [#|2009-02-10T12:23:55.288+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.tools.deployment|_ThreadID=17;_ThreadName=Thread-39;|Deleted previous deployment directory: /Users/arnaudboeglin/Dev/glassfish/domains/domain1/applications/j2ee-apps/Test08EAR_old|#] [#|2009-02-10T12:23:55.288+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.tools.deployment|_ThreadID=17;_ThreadName=Thread-39;|deployed with moduleid = Test08EAR|#] [#|2009-02-10T12:23:55.421+0100|CONFIG|sun-appserver-pe9.1|oracle.toplink.essentials.defaultsessionname.ejb_annotation|_ThreadID=13;_ThreadName=httpWorkerThread-4848-0;|The alias name for the entity class [class entity.Voiture] is being defaulted to: Voiture.|#] [#|2009-02-10T12:23:55.422+0100|CONFIG|sun-appserver-pe9.1|oracle.toplink.essentials.defaultsessionname.ejb_annotation|_ThreadID=13;_ThreadName=httpWorkerThread-4848-0;|The table name for entity [class entity.Voiture] is being defaulted to: VOITURE.|#] [#|2009-02-10T12:23:55.430+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.core.naming|_ThreadID=13;_ThreadName=httpWorkerThread-4848-0;java:comp/env/dao.impl.VoitureDaoLocal/em;|naming.bind|#] [#|2009-02-10T12:23:56.260+0100|SEVERE|sun-appserver-pe9.1|javax.enterprise.system.container.web|_ThreadID=18;_ThreadName=httpWorkerThread-8080-1;_RequestID=5cf9beac-3ec0-44a1-b7e0-16f522f0fca1;|WebModule[/Test08]StandardWrapper.Throwable java.lang.RuntimeException: WEB5002: Exception in handleBeforeEvent. at com.sun.web.server.J2EEInstanceListener.handleBeforeEvent(J2EEInstanceListener.java:260) at com.sun.web.server.J2EEInstanceListener.instanceEvent(J2EEInstanceListener.java:97) at org.apache.catalina.util.InstanceSupport.fireInstanceEvent(InstanceSupport.java:318) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1118) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:787) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:183) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:246) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586) at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:618) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.processNonBlocked(DefaultProcessorTask.java:549) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:789) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:328) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:251) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:205) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252) at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:103) Caused by: com.sun.enterprise.InjectionException: Exception attempting to inject Unresolved Ejb-Ref web.MainServ/dao@jndi: dao.impl.VoitureDaoLocal@null@dao.impl.VoitureDaoLocal@Session@null into class web.MainServ at com.sun.enterprise.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:374) at com.sun.enterprise.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:193) at com.sun.enterprise.util.InjectionManagerImpl.injectInstance(InjectionManagerImpl.java:104) at com.sun.web.server.J2EEInstanceListener.handleBeforeEvent(J2EEInstanceListener.java:255) ... 28 more Caused by: javax.naming.NameNotFoundException: dao.impl.VoitureDaoLocal#dao.impl.VoitureDaoLocal not found at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:203) at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:175) at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61) at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98) at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309) at com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.java:838) at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:156) at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:307) at javax.naming.InitialContext.lookup(InitialContext.java:351) at com.sun.enterprise.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:274) ... 31 more |#]
Bon, je vais essayer de me tourner vers JBoss je pense, car j'ai un projet de 4 mois, je peux pas me permettre de passer 6 mois à utiliser JEE, c'est pas productif là. J'aime pas tellement les codes qui fonctionnent une fois sur deux, en espérant que j'ai moins de problème avec JBoss .. Merci encore.
L'idée de départ c'était d'utiliser JEE5 quand même. Chose que visiblement je n'arrive pas à faire avec glassFish. Pourtant l'installation a bien fonctionné, mis à part nos bases de données nos projets sont identiques visiblement.
nb: je voulais dire apprendre JEE, puisque l'idée était donc d'utiliser JEE ( je me suis mal exprimé à ma précédente réponse ).
ps: En parallèle je continue à chercher une solution, mais rien de bien concret, mes noms JNDI n'existent toujours pas, et aucune raison, j'ai réinstallé le serveur, j'ai même tenté glassfish2.1, rien y fait. Peut être une option qui manque au lancement ?
v2.1 ou v2 ne changera rien je pense. Idem pour les "options" de démarrage.
Peux-tu déployer l'EJB seul et récupérer son nom JNDI?
Voici le résultat une fois l'EJB deployé, mais je dois déployer quoi exactement ? L'EJB entity et l'EJB session avec son interface locale ?
le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7macbook-de-arnaud-boeglin:glassfish arnaudboeglin$ ./bin/asadmin list-jndi-entries Jndi Entries for server within root context: UserTransaction: com.sun.enterprise.distributedtx.UserTransactionImpl jdbc: com.sun.enterprise.naming.TransientContext ejb: com.sun.enterprise.naming.TransientContext Command list-jndi-entries executed successfully.
Hum... Il est possible que comme tout est déployé dans un seul artéfact et que ton EJB n'a que des interfaces locales, le nom JNDI n'est pas visible à l'extérieur (TransientContext").
Sinon peux-tu partager ou m'envoyer ton projet? Je voudrais le tester ou au moins regarder sa structure et ses manifests.
Je te fournis un lien qui permet d'y avoir accés demain dans la journée.
Edit: En fait j'ai peut être une piste, effectivement il y a bien un soucis lors du déploiement, puisque mon ear ( d'apres les tests que j'ai fait avec netbeans ) ne contient pas de .war. Il n'y a qu'un .jar avec mes EJBs. Si je prends un des Samples proposés par netbeans, ça fonctionne, si j'ajoute des EJBs au projet ça fonctionne, si je crée un nouveau projet, ça ne fonctionne pas, et pourtant mon web.xml est correct ( à prioris ).
En fait j'ai trouvé .. J'utilisais la classe pour l'injection au lieu de l'interface. Je me doutais que le problème devait tenir à pas grand chose. Je vais me pencher sur JSF/JSTL à présent. Merci pour ton aide et pour ton soutient !
PS: une petite question concernant JMS, permet-il de faire des requêtes asynchrones de sorte qu'on puisse intervenir sur le DOM client sans rechargement complet de la page ou pas ( à la façon d'ajax quoi ) ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager