2

我正在尝试将我的 seam 2.2 应用程序迁移到 seam 2.3。

我正在使用一个包含多个模块的打包应用程序。

当我尝试加载页面时,出现以下错误:

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

我的 Jboss AS 7.1.1 服务器为我提供了以下 jndi 模式来定位 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

我应该使用什么 JNDI 模式和 seam 来定位 EJB?这里我用过

java:app/#{ejbName}

也试过

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

上面的模式中是否有一些东西可以替换 Cosara.jar 以使其更通用?

4

1 回答 1

1

应为每个组件定义 jndi 模式,如https://community.jboss.org/blogs/marek-novotny/2011/07/29/seam-2-booking-example-on-jboss-as-7中所述

于 2013-01-15T07:40:12.693 回答