You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/06/23 14:20:43 UTC
[commons-dbcp] 01/02: CPDSConnectionFactory.makeObject() does not need to wrap and rethrow SQLException.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git
commit a721f0cceee2528af1bff76be8fe80ab01769efa
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jun 23 09:33:43 2023 -0400
CPDSConnectionFactory.makeObject() does not need to wrap and rethrow
SQLException.
---
src/changes/changes.xml | 3 ++
.../dbcp2/datasources/CPDSConnectionFactory.java | 34 ++++++++++------------
2 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 361409d6..1d8253ff 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -118,6 +118,9 @@ The <action> type attribute can be add,update,fix,remove.
<action dev="ggregory" type="fix" due-to="Gary Gregory">
Throw SQLException instead of NullPointerException when the connection is already closed.
</action>
+ <action dev="ggregory" type="fix" due-to="Gary Gregory">
+ CPDSConnectionFactory.makeObject() does not need to wrap and rethrow SQLException.
+ </action>
<!-- ADD -->
<action dev="ggregory" type="add" due-to="Gary Gregory">
Add and use AbandonedTrace#setLastUsed(Instant).
diff --git a/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java b/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java
index 9d04001c..ce0f08ce 100644
--- a/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java
+++ b/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java
@@ -304,26 +304,22 @@ final class CPDSConnectionFactory
}
@Override
- public synchronized PooledObject<PooledConnectionAndInfo> makeObject() {
- try {
- PooledConnection pc = null;
- if (userPassKey.getUserName() == null) {
- pc = cpds.getPooledConnection();
- } else {
- pc = cpds.getPooledConnection(userPassKey.getUserName(), userPassKey.getPassword());
- }
- if (pc == null) {
- throw new IllegalStateException("Connection pool data source returned null from getPooledConnection");
- }
- // should we add this object as a listener or the pool.
- // consider the validateObject method in decision
- pc.addConnectionEventListener(this);
- final PooledConnectionAndInfo pci = new PooledConnectionAndInfo(pc, userPassKey);
- pcMap.put(pc, pci);
- return new DefaultPooledObject<>(pci);
- } catch (final SQLException e) {
- throw new RuntimeException(e.getMessage());
+ public synchronized PooledObject<PooledConnectionAndInfo> makeObject() throws SQLException {
+ PooledConnection pc = null;
+ if (userPassKey.getUserName() == null) {
+ pc = cpds.getPooledConnection();
+ } else {
+ pc = cpds.getPooledConnection(userPassKey.getUserName(), userPassKey.getPassword());
+ }
+ if (pc == null) {
+ throw new IllegalStateException("Connection pool data source returned null from getPooledConnection");
}
+ // should we add this object as a listener or the pool.
+ // consider the validateObject method in decision
+ pc.addConnectionEventListener(this);
+ final PooledConnectionAndInfo pci = new PooledConnectionAndInfo(pc, userPassKey);
+ pcMap.put(pc, pci);
+ return new DefaultPooledObject<>(pci);
}
@Override