diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index ae9b0bfeb2..1546870f26 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -560,7 +560,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat empty.signal(); // send signal to CreateThread create connection if (estimate <= 0) { - return null; + throw new GetConnectionTimeoutException(); } try { @@ -580,7 +580,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat continue; } - return null; + throw new GetConnectionTimeoutException(); } } diff --git a/src/main/java/com/alibaba/druid/pool/GetConnectionTimeoutException.java b/src/main/java/com/alibaba/druid/pool/GetConnectionTimeoutException.java new file mode 100644 index 0000000000..c517bbeafa --- /dev/null +++ b/src/main/java/com/alibaba/druid/pool/GetConnectionTimeoutException.java @@ -0,0 +1,22 @@ +package com.alibaba.druid.pool; + +import java.sql.SQLException; + + +public class GetConnectionTimeoutException extends SQLException { + + private static final long serialVersionUID = 1L; + + public GetConnectionTimeoutException(){ + super(); + } + + public GetConnectionTimeoutException(String reason){ + super(reason); + } + + public GetConnectionTimeoutException(Throwable cause){ + super(cause); + } + +} \ No newline at end of file