Вопрос

I'm trying to migrate my seam 2.2 application to seam 2.3.

I'm using an ear packaged application that consists of several modules.

When I try to load a page I get the following error:

Caused by: javax.naming.NameNotFoundException: AdmissionDAOImpl -- service jboss.naming.context.java.app.Cosara.AdmissionDAOImpl
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:97)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:178)
at org.jboss.as.naming.InitialContext.lookup(InitialContext.java:123)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:214)
at javax.naming.InitialContext.lookup(InitialContext.java:392) [rt.jar:1.6.0_37]
at org.jboss.seam.Component.instantiateSessionBean(Component.java:1407) [jboss-seam.jar:2.3.0.Final]
at org.jboss.seam.Component.instantiate(Component.java:1370) [jboss-seam.jar:2.3.0.Final]
at org.jboss.seam.Component.newInstance(Component.java:2186) [jboss-seam.jar:2.3.0.Final]
... 63 more

My Jboss AS 7.1.1 server gives me the following jndi patterns to locate the AdmissionDAOImpl.

java:global/Cosara/Cosara2IntDAO/AdmissionDAOImpl!be.ugent.cosara2.dao.AdmissionDAO
java:app/Cosara2IntDAO/AdmissionDAOImpl!be.ugent.cosara2.dao.AdmissionDAO
java:module/AdmissionDAOImpl!be.ugent.cosara2.dao.AdmissionDAO
java:global/Cosara/Cosara2IntDAO/AdmissionDAOImpl
java:app/Cosara2IntDAO/AdmissionDAOImpl
java:module/AdmissionDAOImpl

What JNDI pattern should I use with seam to locate the EJB? Here I've used

java:app/#{ejbName}

Also tried

java:app/Cosara.jar/#{ejbName}

Is there something to replace Cosara.jar in the pattern above to make it more generic?

Это было полезно?

Решение

The jndi pattern should be defined for each component as described in https://community.jboss.org/blogs/marek-novotny/2011/07/29/seam-2-booking-example-on-jboss-as-7

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top