Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Connection Pool / 11 сообщений из 11, страница 1 из 1
25.03.2014, 15:40
    #38595890
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
Есть две страницы, на первой логин с userPresent(), на второй отображает данные по getTasks().

Захожу на логин (первая страница), вхожу - отображает данные (вторая страница).
Находясь на второй, нажимаю на выход, переходим на первую страницу, - ничего особенного, просто закрываю сессию (никакие методы из dao не используются).
Опять вход, отображение данных, и нажимаю на выход. Но тут начинается странное страница зависает с курсором песочные часы и на первую страницу не переходит. При этом никаких ошибок...
Подозреваю, что проблема с коннекшин пул, но вот какая?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
@PostConstruct
    private void init() {
        try {
            Context initContext = new InitialContext();
            Context envContext = (Context)initContext.lookup("java:/comp/env");
            dataSource = (DataSource)envContext.lookup("jdbc/datasource");
        } catch (NamingException e) {
            e.printStackTrace();
        }
    }
     
    public boolean userPresent(String email, String password) {
        ResultSet rs = null;
        try {
            con = dataSource.getConnection();
            String sql = "select * from users where email = '" + email + "'";
            ps = con.prepareStatement(sql);
            rs = ps.executeQuery();
            while (rs.next()) {
                // do something...
                return true;
            }
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } finally {
            try { if(null!=rs)rs.close();} catch (SQLException e)
        {e.printStackTrace();}
        try { if(null!=ps)ps.close();} catch (SQLException e)
        {e.printStackTrace();}
        try { if(null!=con)con.close();} catch (SQLException e)
        {e.printStackTrace();}
        }
        System.out.println("something wrong");
        return false;
       }
        public List<Task> getTasks(String email) {
        ResultSet rs = null;
        try {
            con = dataSource.getConnection();
            String sql = "select * from tasks join users using(user_id) where email = '" + email + "'";
            ps = con.prepareStatement(sql);
            rs = ps.executeQuery();
            List<Task> activeTasks = new ArrayList<Task>();
            while(rs.next()) {
                // do something...
            }
        return activeTasks;
        } catch (SQLException sqle) {
           sqle.printStackTrace();
        } finally {
            try { if(null!=rs)rs.close();} catch (SQLException e)
            {e.printStackTrace();}
            try { if(null!=ps)ps.close();} catch (SQLException e)
            {e.printStackTrace();}
            try { if(null!=con)con.close();} catch (SQLException e)
            {e.printStackTrace();}
        }
        return null;
    }
...
Рейтинг: 0 / 0
25.03.2014, 15:46
    #38595908
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
Код -- жесть.
rema174 Но тут начинается странное страница зависает с курсором песочные часы и на первую страницу не переходит. При этом никаких ошибок...
Подозреваю, что проблема с коннекшин пул, но вот какая?
Про курсор очень важное замечание. На самом деле между браузером и пулом - пропасть в массу слоёв. Вы дамп потоков сделали на сервере или как определили что дело в пуле?
...
Рейтинг: 0 / 0
25.03.2014, 15:47
    #38595910
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
Если зависает "выход", то почему выше приведет код для "входа" и откуда уверенность что он является источником проблемы?
...
Рейтинг: 0 / 0
25.03.2014, 16:10
    #38595956
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
BlazkowiczПро курсор очень важное замечание. На самом деле между браузером и пулом - пропасть в массу слоёв. Вы дамп потоков сделали на сервере или как определили что дело в пуле?
перед этим, я делал тоже самое без пула, и не через датасоурс, а через файл .properties, все работало, другое не менял, где же тогда притаилась проблема?
...
Рейтинг: 0 / 0
25.03.2014, 16:11
    #38595958
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
BlazkowiczЕсли зависает "выход", то почему выше приведет код для "входа" и откуда уверенность что он является источником проблемы?

авторНаходясь на второй, нажимаю на выход, переходим на первую страницу, - ничего особенного, просто закрываю сессию (никакие методы из dao не используются).
...
Рейтинг: 0 / 0
25.03.2014, 16:16
    #38595979
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
rema174перед этим, я делал тоже самое без пула, и не через датасоурс, а через файл .properties, все работало, другое не менял, где же тогда притаилась проблема?
Вы делаете выводы из предположений. Это скользкий путь. Лучше делать выводы из фактов.
...
Рейтинг: 0 / 0
25.03.2014, 16:17
    #38595983
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
rema174BlazkowiczЕсли зависает "выход", то почему выше приведет код для "входа" и откуда уверенность что он является источником проблемы?

авторНаходясь на второй, нажимаю на выход, переходим на первую страницу, - ничего особенного, просто закрываю сессию (никакие методы из dao не используются).
Ну, давайте я тоже что-нибудь из уже написаного процитирую. Чтобы оставаться в тренде.
...
Рейтинг: 0 / 0
25.03.2014, 16:27
    #38595996
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
BlazkowiczВы делаете выводы из предположений. Лучше делать выводы из фактов.
в том то и дело, что никаких ошибок. если в этом коде вы не находите явной проблемы, то тогда я не знаю где еще.
...
Рейтинг: 0 / 0
25.03.2014, 16:33
    #38596007
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
Таки может сделать дамп потоков на сервере?
...
Рейтинг: 0 / 0
25.03.2014, 16:40
    #38596023
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
Blazkowicz,
хз как это делать, и думаю, тут дело в чем-то попроще
...
Рейтинг: 0 / 0
26.03.2014, 09:26
    #38596581
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Connection Pool
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Connection Pool / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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