Hi  Kyohei,

I think it would help a lot in if you would provide a PR on GitHub for a
failing JUnit test. Please use an H2 in-memory database as the underlying
database.

https://github.com/apache/commons-dbcp

Thank you,
Gary

On Sun, Apr 26, 2020 at 8:49 AM Kyohei Nakamura <
nakamura.kyohei....@gmail.com> wrote:

> Hi all,
>
> I use DBCP2 version 2.7.0 (with POOL2 version 2.7.0).
> I want to destroy idle connections in the pool using Eviction function.
>
> the config (code snippet) is in the following.
> ----
> BasicDataSource ds = new BasicDataSource();
> ds.setInitialSize(10);
> ds.setMaxIdle(10);
> ds.setMaxTotal(10);
> ds.setMinIdle(5);
> ds.setNumTestsPerEvictionRun(3);
> ds.setMinEvictableIdleTimeMillis(5000);
> ds.setTimeBetweenEvictionRunsMillis(5000);
> ds.setPoolPreparedStatements(true);
> ----
> At that time, I confirmed the following behavior.
>
> 1. After starting, 10 connections of initialSize are created into the pool
> 2. After a few seconds, 3 connections numTestsPerEvictionRun of are
> destroyed from the pool
> 3. After that, other connections are not destroyed and
> "commons-pool-evictor-thread" thread is disappeared
>
> However, I have confirmed when set poolPreparedStatements to false,
> connections decrease to the value of minIdle and
> "commons-pool-evictor-thread" thread still alive.
>
> I think that when poolPreparedStatements is true, the close method of
> the GenericKeyedObjectPool class that managed PreparedStatement is
> called when the connection is destoryed.
> And, this method executes the stopEvictor method.
> So I think it is a problem.
>
> For your reference,
> It is happend when using DBCP2 version 2.7.0 (with POOL2 version 2.7.0).
> However, It is not happend when using DBCP2 version 2.1.1 (with POOL2
> version 2.4.2).
> At that time "commons-pool-EvictionTimer" thread alive.
>
>
> Best regards,
> Kyohei Nakamura
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
> For additional commands, e-mail: user-h...@commons.apache.org
>
>

Reply via email to