Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / объекты внутри сервлетов / 3 сообщений из 3, страница 1 из 1
18.05.2016, 17:41
    #39238520
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объекты внутри сервлетов
Всем привет!

Подскажите пожалуйста как правильно понимать/использовать соединение с БД внутри сервлетов (версия 3.1)?

контейнер сервлетов GlassFish 4.1.1 пул соединений с БД (JDBC)

в методе сервлета Init, получаю соединение из пула

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
...
private Connection con;
...

private Init(){
con = getConnection()
}    

private Connection getConnection() throws NamingException, SQLException {
        InitialContext initContext = new InitialContext();
        DataSource ds = (DataSource) initContext.lookup("myDatasource");
        return ds.getConnection();
    }



в методе doGet использую соединение которое получил из пула в методе Init.

правильно ли я использую соединение с БД внутри сервлета?

либо нужно делать так, в методе Init получать объект DataSource и каждый раз в методе doGet вызывать ds.getConnection()?
...
Рейтинг: 0 / 0
18.05.2016, 17:48
    #39238529
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объекты внутри сервлетов
Делать JNDI lookup на каждый пук достаточно затратно.
Я бы это делал один раз с ServletContextListener.
Но! По-хорошему DataSource надо просто инжектить через CDI. JNDI Lookup
http://theopentutorials.com/tutorials/java-ee/servlet/servlet-datasource-resource-injection-in-tomcat/
...
Рейтинг: 0 / 0
18.05.2016, 23:07
    #39238661
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объекты внутри сервлетов
Blazkowicz,

понятно, спасибо.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / объекты внутри сервлетов / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]