Spring MVC、Hibernate、JBoss Tools、JSFを利用してWebアプリケーションフレームワークを構築しています。JBoss Toolsを利用してドメインクラスとDAOクラスを生成することができましたが、DAOオブジェクトを作成しようとすると(現時点ではサービスを作成していますが、最終的にはサービスがコントローラーに挿入されます)、 JNDIエラーを受け取ります。ASとしてTomcat7を使用しています。この問題の簡単な解決策をいただければ幸いです。
コントローラーコード:
AuthorHome ah = new AuthorHome();
Author a = ah.findById(1);
DAO /サービスコード:
public class AuthorHome {
private static final Log log = LogFactory.getLog(AuthorHome.class);
private final SessionFactory sessionFactory = getSessionFactory();
protected SessionFactory getSessionFactory() {
try {
return (SessionFactory) new InitialContext().lookup("SessionFactory");
} catch (Exception e) {
log.error("Could not locate SessionFactory in JNDI", e);
throw new IllegalStateException(
"Could not locate SessionFactory in JNDI");
}
}
}
スタックトレース:
javax.naming.NameNotFoundException:名前SessionFactoryは、org.apache.naming.NamingContext.lookup(NamingContext.java:159)のorg.apache.naming.NamingContext.lookup(NamingContext.java:803)のこのコンテキストにバインドされていません。 .apache.naming.SelectorContext.lookup(SelectorContext.java:158)at javax.naming.InitialContext.lookup(Unknown Source)at com.webapplication.service.AuthorHome.getSessionFactory(AuthorHome.java:31)at com.webapplication.service .AuthorHome。(AuthorHome.java:26)