Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Information Provided
-
1.4
-
All environment
-
Important
Description
First the database hasn't start, then create a new BasicDataSource. The method createDataSource judge dataSource == null, will create a new dataSource. The first step is create a connectionPool, second create a connectionFactory, but validateConnectionFactory will throw a SQLNestedException, the dataSource will be null again. Next itme repeat the steps again and again. The most import issue is create the connectionPool will be refered by a java.lang.Timer, so it can't be collected by GC. If the minIdle is positive, when database status is ok, it will create connection also.
As a word, the bug will cause memory leak and may cause connection leak.