@@ -59,17 +59,11 @@ public void tearDown() throws Exception {
5959 }
6060 }
6161 @ Test
62- public void test_SimpleDBConnectionPool_config_oldversion (){
63- config .setInitialPoolSize (5 );
64- SimpleDBConnectionPool pool =new SimpleDBConnectionPool (config );
65- assertEquals (5 ,config .getMinimumPoolSize ());
66- assertEquals (5 ,config .getMaximumPoolSize ());
67- }
68- @ Test
69- public void test_SimpleDBConnectionPool_config_newversion (){
62+ public void test_SimpleDBConnectionPool_config_setInitialPoolSize (){
63+ config .setInitialPoolSize (10 );
7064 SimpleDBConnectionPool pool =new SimpleDBConnectionPool (config );
71- assertEquals (5 ,config .getMinimumPoolSize ());
72- assertEquals (5 ,config .getMaximumPoolSize ());
65+ assertEquals (10 ,config .getMinimumPoolSize ());
66+ assertEquals (10 ,config .getMaximumPoolSize ());
7367 }
7468 @ Test
7569 public void test_SimpleDBConnectionPool_config_MinimumandPoolSize_and_MaximumPoolSize_null () {
@@ -120,7 +114,6 @@ public void test_SimpleDBConnectionPool_config_InvalididleTimeout_error() {
120114 config .setIdleTimeout (0 );
121115 pool = new SimpleDBConnectionPool (config );
122116 assertEquals (600000 , config .getIdleTimeout ());
123-
124117 }
125118 @ Test
126119 public void test_SimpleDBConnectionPool_config_InvalididleTimeout_null () {
@@ -800,6 +793,64 @@ public void test_SimpleDBConnectionPool_closeIdleConnections_Auto() throws Inter
800793 assertEquals (6 ,pool .getIdleConnectionsCount ());
801794 }
802795 @ Test
796+ public void test_SimpleDBConnectionPool_closeIdleConnections_Auto_1 () throws InterruptedException {
797+ config .setMaximumPoolSize (10 );
798+ config .setMinimumPoolSize (6 );
799+ config .setIdleTimeout (10000 );
800+ pool =new SimpleDBConnectionPool (config );
801+ DBConnection [] A =new DBConnection [10 ];
802+ for (int i =0 ;i <10 ;i ++){
803+ A [i ]=pool .getConnection ();
804+ }
805+ assertEquals (10 ,pool .getTotalConnectionsCount ());
806+ assertEquals (10 ,pool .getActiveConnectionsCount ());
807+ assertEquals (0 ,pool .getIdleConnectionsCount ());
808+ for (int i =0 ;i <2 ;i ++){
809+ A [i ].close ();
810+ }
811+ Thread .sleep (9000 );
812+ assertEquals (10 ,pool .getTotalConnectionsCount ());
813+ assertEquals (8 ,pool .getActiveConnectionsCount ());
814+ assertEquals (2 ,pool .getIdleConnectionsCount ());
815+ Thread .sleep (1000 );
816+ assertEquals (10 ,pool .getTotalConnectionsCount ());
817+ assertEquals (8 ,pool .getActiveConnectionsCount ());
818+ assertEquals (2 ,pool .getIdleConnectionsCount ());
819+ Thread .sleep (972 );
820+ assertEquals (8 ,pool .getTotalConnectionsCount ());
821+ assertEquals (8 ,pool .getActiveConnectionsCount ());
822+ assertEquals (0 ,pool .getIdleConnectionsCount ());
823+ }
824+ @ Test
825+ public void test_SimpleDBConnectionPool_closeIdleConnections_Auto_2 () throws InterruptedException {
826+ config .setMaximumPoolSize (10 );
827+ config .setMinimumPoolSize (6 );
828+ config .setIdleTimeout (10000 );
829+ pool =new SimpleDBConnectionPool (config );
830+ DBConnection [] A =new DBConnection [10 ];
831+ for (int i =0 ;i <10 ;i ++){
832+ A [i ]=pool .getConnection ();
833+ }
834+ assertEquals (10 ,pool .getTotalConnectionsCount ());
835+ assertEquals (10 ,pool .getActiveConnectionsCount ());
836+ assertEquals (0 ,pool .getIdleConnectionsCount ());
837+ // for(int i=0;i<2;i++){
838+ // A[i].close();
839+ // }
840+ Thread .sleep (9000 );
841+ assertEquals (10 ,pool .getTotalConnectionsCount ());
842+ assertEquals (10 ,pool .getActiveConnectionsCount ());
843+ assertEquals (0 ,pool .getIdleConnectionsCount ());
844+ Thread .sleep (1000 );
845+ assertEquals (10 ,pool .getTotalConnectionsCount ());
846+ assertEquals (10 ,pool .getActiveConnectionsCount ());
847+ assertEquals (0 ,pool .getIdleConnectionsCount ());
848+ Thread .sleep (972 );
849+ assertEquals (10 ,pool .getTotalConnectionsCount ());
850+ assertEquals (10 ,pool .getActiveConnectionsCount ());
851+ assertEquals (0 ,pool .getIdleConnectionsCount ());
852+ }
853+ @ Test
803854 public void test_SimpleDBConnectionPool_closeIdleConnections_Auto_MultiThread () throws InterruptedException {
804855 config .setMaximumPoolSize (10 );
805856 config .setMinimumPoolSize (6 );
@@ -809,6 +860,9 @@ public void test_SimpleDBConnectionPool_closeIdleConnections_Auto_MultiThread()
809860 for (int i =0 ;i <10 ;i ++){
810861 A [i ]=pool .getConnection ();
811862 }
863+ assertEquals (10 ,pool .getTotalConnectionsCount ());
864+ assertEquals (10 ,pool .getActiveConnectionsCount ());
865+ assertEquals (0 ,pool .getIdleConnectionsCount ());
812866 Thread [] threads = new Thread [10 ];
813867 for (int i =0 ;i <10 ;i ++){
814868 int finalI = i ;
@@ -867,6 +921,32 @@ public void test_SimpleDBConnectionPool_closeIdleConnectionsManual() throws Inte
867921 assertEquals (6 ,pool .getIdleConnectionsCount ());
868922 }
869923 @ Test
924+ public void test_SimpleDBConnectionPool_closeIdleConnectionsManual_1 () throws InterruptedException {
925+ config .setMaximumPoolSize (10 );
926+ config .setMinimumPoolSize (6 );
927+ config .setIdleTimeout (10000 );
928+ pool =new SimpleDBConnectionPool (config );
929+ DBConnection [] A =new DBConnection [10 ];
930+ for (int i =0 ;i <10 ;i ++){
931+ A [i ]=pool .getConnection ();
932+ }
933+ assertEquals (10 ,pool .getTotalConnectionsCount ());
934+ assertEquals (10 ,pool .getActiveConnectionsCount ());
935+ assertEquals (0 ,pool .getIdleConnectionsCount ());
936+ for (int i =0 ;i <2 ;i ++){
937+ A [i ].close ();
938+ }
939+ Thread .sleep (7000 );
940+ assertEquals (10 ,pool .getTotalConnectionsCount ());
941+ assertEquals (8 ,pool .getActiveConnectionsCount ());
942+ assertEquals (2 ,pool .getIdleConnectionsCount ());
943+
944+ pool .manualCleanupIdleConnections ();
945+ assertEquals (8 ,pool .getTotalConnectionsCount ());
946+ assertEquals (8 ,pool .getActiveConnectionsCount ());
947+ assertEquals (0 ,pool .getIdleConnectionsCount ());
948+ }
949+ @ Test
870950 public void test_SimpleDBConnectionPool_closeIdleConnectionsManual_MultiThread () throws InterruptedException {
871951 config .setMaximumPoolSize (10 );
872952 config .setMinimumPoolSize (6 );
0 commit comments