Я хочу использовать только один сеанс Hibernate на один запрос во всем моем приложении Struts 2.
Для этого я открыл сеанс Hibernate в методе Intercept() Struts Interceptor и закрыл сеанс Hibernate в Struts Interceptor intercept() до его завершения.
Но в своем приложении я использовал вызовы «цепочки действий». В это время я получаю исключение закрытия сеанса, если я пытаюсь использовать сеанс Hibernate в следующем цепном действии.
Пожалуйста, помогите мне, где я открываю и закрываю Hibernate Interceptor. сеанс в приложении Struts 2?
Перехватчик:
Код: Выделить всё
public class MyStrutsInterceptor implements Interceptor {
public void init() {
// I created sessionfactroy object as a static variable
}
public void destroy() {
// I released the DB resources
}
public String intercept(ActionInvocation invocation) throws Exception {
Session session = sessionFactory().openSession(new MyHibernateInterceptor());
invocation.invoke();
session.close();
}
}
Код: Выделить всё
public class MyHibernateInterceptor extends EmptyInterceptor{
//Override methods
}
Подробнее здесь: https://stackoverflow.com/questions/265 ... n-using-hi