[ 
https://issues.apache.org/jira/browse/DBCP-420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bjorn Vidar Remme updated DBCP-420:
-----------------------------------

    Attachment: dbcp_420_patch.txt

Attached a possible patch w/tests. 

Only the 
'testConnectingForUserWithExistingConnectionWhenPasswordMismatchThrowsNestedSQLExceptionIfNewPasswordNotValid'
 test is needed for this patch. 

Added two more tests that verify the other cases and they work as intended. No 
code changed needed in the code to make those pass.

> InstanceKeyDataSource discards native SQLException when given password does 
> not match password used to create the connection
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DBCP-420
>                 URL: https://issues.apache.org/jira/browse/DBCP-420
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 2.0
>            Reporter: Bjorn Vidar Remme
>         Attachments: dbcp_420_patch.txt
>
>
> The throw in InstanceKeyDataSource at line 936 does not pass on the native 
> SQL exception from the connection test:
> {code}
> } catch (SQLException ex) {
>                 // Password has not changed, so refuse client, but return 
> connection to the pool
>                 closeDueToException(info);
>                 throw new SQLException("Given password did not match password 
> used"
>                                        + " to create the PooledConnection.");
>             }
> {code}
> It would be great if this throw could include the cause exception:
> {code}
>                 throw new SQLException("Given password did not match password 
> used"
>                                        + " to create the PooledConnection.", 
> ex);
> {code} 
> as we have code that detects login related SQLExceptions and takes actions on 
> them. 
>  



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to