Frage

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?

War es hilfreich?

Lösung

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top