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


Автор: Fameing 27.3.2006, 17:43
При использовании пула соединений возникает такая ошибка :
Код

SQLException org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted


что можете подсказать по этому поводу.

Автор: LSD 27.3.2006, 17:45
Исчерпано максимальное количество соединений для пула.

Автор: Fameing 27.3.2006, 17:50
Такого неможет быть так как стоит максимальное количество конектов 10 а после виполнения 100 запросов всреднем вилитает ошибка.

беру конекшен так :
Код

    public Connection opencon(String jndi) throws SQLException {

        Context initContext;
        Connection conn = null;
        DataSource pool;
        try {
            initContext = new InitialContext();
            Context envContext = (Context) initContext.lookup("java:/comp/env");
            pool = (DataSource) envContext.lookup("jdbc/pool/" + jndi);
            conn = pool.getConnection();
        } catch (NamingException e) {
            logger.error("NamingException opencon() : " + jndi + " " + e);
        }
        return conn;
    }


просто приложение конектится сразу к 50 базам и также иногда неможет найты контекст.

Автор: tux 28.3.2006, 03:03
Цитата(Fameing @ 27.3.2006, 22:50 Найти цитируемый пост)
Такого неможет быть так как стоит максимальное количество конектов 10 а после виполнения 100 запросов всреднем вилитает ошибка.

Почему не может быть? Вполне может, более того так и есть. Скорее всего в какой-то момент все 10 соединений заняты (может быть запросы длительные по времени), у пула соединений заканчивается таймаут ожидания свободного соединения и в результате вываливается такое исключение.

Попробуй увеличить количество активных соединений в пуле (параметр maxActive) и/или увеличить время ожидания свободного соединения (параметр maxWait в миллисекундах, значение -1 означает, что поток будет висеть в ожидании свободного соединения неопределенн6ое время). В общем, нужно настроить пул в соответствии с характером приложения.

Автор: Fameing 28.3.2006, 10:56
Заметил такую ситуацию, когда в базе перестраиваются индексы то запросы зависают. Как с моей сторонни с этим борется. В таблице больше 15 мил. записей которые заливаются каждый день. И некоторое время приложение зависает.

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