Превышен пул соединений Tomcat

Я использую пул соединений Apache Tomcat JDBC в своем проекте. Я запутался, потому что под большой нагрузкой я продолжаю видеть следующую ошибку:

12:26:36,410 ERROR [] (http-/XX.XXX.XXX.X:XXXXX-X) org.apache.tomcat.jdbc.pool.PoolExhaustedException: [http-/XX.XXX.XXX.X:XXXXX-X] Timeout: Pool empty. Unable to fetch a connection in 10 seconds, none available[size:4; busy:4; idle:0; lastwait:10000].
12:26:36,411 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/APP].[AppConf]] (http-/XX.XXX.XXX.X:XXXXX-X) JBWEB000236: Servlet.service() for servlet AppConf threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException

Я ожидал, что с пулами запросы на новые соединения будут храниться в очереди, пока соединение не станет доступным. Вместо этого кажется, что запросы отклоняются, когда пул достиг емкости. Можно ли изменить это поведение?

Спасибо,

Dal

Это моя конфигурация пула:

            PoolProperties p = new PoolProperties();
            p.setUrl("jdbc:oracle:thin:@" + server + ":" + port + ":" + SID_SVC);

            p.setDriverClassName("oracle.jdbc.driver.OracleDriver");
            p.setUsername(username);
            p.setPassword(password);
            p.setMaxActive(4);
            p.setInitialSize(1);
            p.setMaxWait(10000);
            p.setRemoveAbandonedTimeout(300);
            p.setMinEvictableIdleTimeMillis(150000);
            p.setTestOnBorrow(true);
            p.setValidationQuery("SELECT 1 from dual");
            p.setMinIdle(1);
            p.setMaxIdle(2);
            p.setRemoveAbandoned(true);
            p.setJdbcInterceptors(
                    "org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"
                    + "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer;" 
        + "org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer");

Ответы на вопрос(1)

Ваш ответ на вопрос