@@ -59,17 +59,11 @@ public void tearDown() throws Exception {
59
59
}
60
60
}
61
61
@ 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 );
70
64
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 ());
73
67
}
74
68
@ Test
75
69
public void test_SimpleDBConnectionPool_config_MinimumandPoolSize_and_MaximumPoolSize_null () {
@@ -120,7 +114,6 @@ public void test_SimpleDBConnectionPool_config_InvalididleTimeout_error() {
120
114
config .setIdleTimeout (0 );
121
115
pool = new SimpleDBConnectionPool (config );
122
116
assertEquals (600000 , config .getIdleTimeout ());
123
-
124
117
}
125
118
@ Test
126
119
public void test_SimpleDBConnectionPool_config_InvalididleTimeout_null () {
@@ -800,6 +793,64 @@ public void test_SimpleDBConnectionPool_closeIdleConnections_Auto() throws Inter
800
793
assertEquals (6 ,pool .getIdleConnectionsCount ());
801
794
}
802
795
@ 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
803
854
public void test_SimpleDBConnectionPool_closeIdleConnections_Auto_MultiThread () throws InterruptedException {
804
855
config .setMaximumPoolSize (10 );
805
856
config .setMinimumPoolSize (6 );
@@ -809,6 +860,9 @@ public void test_SimpleDBConnectionPool_closeIdleConnections_Auto_MultiThread()
809
860
for (int i =0 ;i <10 ;i ++){
810
861
A [i ]=pool .getConnection ();
811
862
}
863
+ assertEquals (10 ,pool .getTotalConnectionsCount ());
864
+ assertEquals (10 ,pool .getActiveConnectionsCount ());
865
+ assertEquals (0 ,pool .getIdleConnectionsCount ());
812
866
Thread [] threads = new Thread [10 ];
813
867
for (int i =0 ;i <10 ;i ++){
814
868
int finalI = i ;
@@ -867,6 +921,32 @@ public void test_SimpleDBConnectionPool_closeIdleConnectionsManual() throws Inte
867
921
assertEquals (6 ,pool .getIdleConnectionsCount ());
868
922
}
869
923
@ 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
870
950
public void test_SimpleDBConnectionPool_closeIdleConnectionsManual_MultiThread () throws InterruptedException {
871
951
config .setMaximumPoolSize (10 );
872
952
config .setMinimumPoolSize (6 );
0 commit comments