Bonjour à tous,
dans le cadre de la réalisation d'un prototype, j'essaie de créer une application
qui comprends un SLSB qui alimente une queue et un MDB qui consomme ces informations et les sauvegarde en base grâce à un autre SLSB.
J'utilise JOnAS 5.1.4 et mon problème est que mes fichiers jonas-ejb-jar.xml ne sont pas pris en compte.
Pour être plus claire voilà un exemple :
Dans mon premier SLSB (celui qui alimente la queue) j'ai ceci :
Dans le fichier ejb-jar.xml associé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @Resource(name = "jms/my_cf") protected ConnectionFactory jmsCF; @Resource(name = "jms/my_queue") protected Queue jmsQueue;
Et mon fichier jonas-ejb-jar.xml contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <resource-ref> <res-ref-name>jms/my_cf</res-ref-name> <res-type>javax.jms.ConnectionFactory</res-type> <res-auth>Container</res-auth> </resource-ref> <resource-env-ref> <resource-env-ref-name>jms/my_queue</resource-env-ref-name> <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> </resource-env-ref>
Lors de l'exécution du code j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <jonas-resource> <res-ref-name>jms/my_cf</res-ref-name> <jndi-name>JCF</jndi-name> </jonas-resource> <jonas-resource-env> <resource-env-ref-name>jms/my_queue</resource-env-ref-name> <jndi-name>jms/BYTEL_GF_ExportParc_Queue</jndi-name> </jonas-resource-env>
Apparemment mon fichier jonas-ejb-jar.xml n'est pas pris en compte, est-ce normal et surtout comment faire pour résoudre mon problème tout en gardant la partie description distinct de la partie déploiement.
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 java.lang.IllegalArgumentException: Lookup on 'java:comp/env/jms/my_cf' was not found org.ow2.easybeans.container.EasyBeansEJBContext.lookup(EasyBeansEJBContext.java:426) my.test.service.BatchServiceSessionBean.afterCreation(BatchServiceSessionBean.java:115) my.test.service.BatchServiceSessionBean.beanPostConstruct$generated(BatchServiceSessionBean.java) org.ow2.easybeans.gen.invocationcontext.my.test.service.BatchServiceSessionBean.EasyBeansInvocationContextImplbeanPostConstruct$generatedPOSTCONSTRUCT39797.proceed(Unknown Source) org.ow2.jonas.jndi.interceptors.impl.easybeans.ResourceCheckerInterceptor.intercept(ResourceCheckerInterceptor.java:103) org.ow2.easybeans.gen.invocationcontext.my.test.service.BatchServiceSessionBean.EasyBeansInvocationContextImplbeanPostConstruct$generatedPOSTCONSTRUCT39797.proceed(Unknown Source) org.ow2.jonas.ejb.easybeans.JOnASENCInterceptor.intercept(JOnASENCInterceptor.java:67) org.ow2.easybeans.gen.invocationcontext.my.test.service.BatchServiceSessionBean.EasyBeansInvocationContextImplbeanPostConstruct$generatedPOSTCONSTRUCT39797.proceed(Unknown Source) my.test.service.BatchServiceSessionBean.postConstructEasyBeansLifeCycle(BatchServiceSessionBean.java) org.ow2.easybeans.container.AbsFactory.postConstruct(AbsFactory.java:304) org.ow2.easybeans.container.session.SessionFactory.create(SessionFactory.java:187) org.ow2.easybeans.container.session.stateless.StatelessSessionFactory.create(StatelessSessionFactory.java:56) org.ow2.util.pool.impl.JPool.get(JPool.java:256) org.ow2.util.pool.impl.JPool.get(JPool.java:174) org.ow2.easybeans.container.session.stateless.StatelessSessionFactory.getBean(StatelessSessionFactory.java:111) org.ow2.easybeans.container.session.stateless.StatelessSessionFactory.localCall(StatelessSessionFactory.java:130) org.ow2.easybeans.proxy.client.LocalCallInvocationHandler.invoke(LocalCallInvocationHandler.java:173) $Proxy124.submitJob(Unknown Source) my.test.web.MyServlet.doPost(MyServlet.java:22) my.test.web.MyServlet.doGet(MyServlet.java:31) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Merci d'avance.
Partager