Я создаю инфраструктуру веб-приложений, используя Spring MVC, Hibernate, JBoss Tools и JSF.Мне удалось сгенерировать классы домена и классы DAO с помощью JBoss Tools, однако, когда я пытаюсь создать любой объект DAO (в данный момент я создаю сервис, но в конечном итоге сервис будет внедрен в контроллер), яполучить ошибку JNDI.Я использую Tomcat 7 в качестве AS.Я был бы признателен за простое решение этой проблемы.
Код контроллера:
AuthorHome ah = new AuthorHome();
Author a = ah.findById(1);
Код DAO / Service:
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:803) в org.apache.naming.NamingContext.lookup (NamingContext.java:159) на org.apache.naming.SelectorContext.lookup (SelectorContext.java:158) на javax.naming.InitialContext.lookup (неизвестный источник) на com.webapplication.service.AuthorHome.getSessionFactory (AuthorHome.java:31) на com.webapplication.service.AuthorHome. (AuthorHome.java:26)