Использование пула JDBC в Oracle WebLogic Server,

У меня есть вопрос, который озадачивает меня в эти дни. Я использую пул соединений JDBC на сервере Oracle Weblog для своих вызовов REST API. Пакет был развернут и смог правильно обрабатывать входящие запросы.

Но каким-то образом, после того, как сделан новый запрос, на уровне сеанса базы данных я получу новую строку сеанса в состоянии "НЕАКТИВНО", даже если у меня намеренно было закрыто соединение базы данных в коде. И мне кажется, эта сессия будет сохранена навсегда. В конце концов это убивает бассейн.

Вот пример моего кода, где "apple" - это имя моего пула соединений.

    Connection connection = JDBCConnection.getJDBCConnction(apple);
    Statement stmt = null;
    String query ="select name from user";
    String hosts="";
    try {
        stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        while (rs.next()) {
            name   = rs.getString("name");
        }
    } finally {
        connection.close();
    }

Есть ли что-то еще, что мне нужно сделать?

Спасибо,

Джек

1 ответ

Вы, вероятно, столкнулись с проблемой, когда вы закрываете Connection но это не приводит к закрытию ResultSet или Statement,

Тема была подробно объяснена здесь и здесь на SO.

Другие вопросы по тегам