Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > где создавать пул соединений с базой? jsf


Автор: skhilkov 1.5.2007, 17:39
подскажите пожайлуста, где создавать пул соединений с БД если используешь JSF? на первой странице? Можно ли это сделать до обращения к какой-либо странице? 

Автор: ecologist 2.5.2007, 08:48
А почему именно на странице надо это сосздавать ? Разве это не делается в каком-нибудь компоненте на серверной стороне ?

Автор: skhilkov 2.5.2007, 09:20
ecologist, имел ввиду обращение к первой странице, да и еще, соединяюсь с помощью хибернэйт........

Автор: Anklav 2.5.2007, 09:33
Можно создавать пул в listener'е (с интерфейсом javax.servlet.ServletContextListener), зарегистрировав его в web.xml. Ещё можно готовые фреймворки взять, которые для этого и предназначены, например IoC контейнер из springframework.

Автор: skhilkov 2.5.2007, 09:52
Цитата

Можно создавать пул в listener'е (с интерфейсом javax.servlet.ServletContextListener), зарегистрировав его в web.xml. 

а можно поподробнее чуть-чуть?  smile 

Автор: Anklav 2.5.2007, 10:05
Ну можно попробовать и поподробнее smile

Значит создаем класс:

Код

class MyListener implements javax.servlet.ServletContextListener {
   void contextInitialized(ServletContextEvent sce) {
     Object pool; // это будет объект пула
     // ... здесь мы его всячески создаём и инитим :)
     sce.getServletContext().setAttribute("poolObject", pool); // здесь мы его сохроняем в контексте сервлета (applicationScope)
  }

  void contextDestroyed(ServletContextEvent sce) {
  }
}

Дальше нужно зарегить его в web.xml:
Код

<web-app>
  <listener>MyListener</listener>
</web-app>

Ну вот.  smile 

Автор: skhilkov 2.5.2007, 10:08
Anklav,  спасибо! +1

Автор: tux 2.5.2007, 13:05
Цитата(skhilkov @  2.5.2007,  09:20 Найти цитируемый пост)
соединяюсь с помощью хибернэйт........ 

А зачем вообще это делать если Hibernate уже все умеет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)