2

seam 2.2 アプリケーションを seam 2.3 に移行しようとしています。

複数のモジュールで構成される ear パッケージ化されたアプリケーションを使用しています。

ページを読み込もうとすると、次のエラーが表示されます。

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 サーバーは、AdmissionDAOImpl を見つけるために次の jndi パターンを提供します。

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

EJB を見つけるには、seam でどの JNDI パターンを使用すればよいですか? ここで私は使用しました

java:app/#{ejbName}

また試した

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

上記のパターンの Cosara.jar をより一般的なものに置き換えるものはありますか?

4

1 に答える 1

1

https://community.jboss.org/blogs/marek-novotny/2011/07/29/seam-2-booking-example-on-jboss-as-7で説明されているように、コンポーネントごとに jndi パターンを定義する必要があります。

于 2013-01-15T07:40:12.693 に答える