commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dain Sundstrom (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DBCP-209) Is DataSource.getConnection(user, pass) working the way it is suppose to?
Date Thu, 19 Jul 2007 22:50:06 GMT

    [ https://issues.apache.org/jira/browse/DBCP-209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514033
] 

Dain Sundstrom commented on DBCP-209:
-------------------------------------

I believe that Michael should be using either the SharedPoolDataSource or the PerUserPoolDataSource
which support the getConnection(user, pass) method.  This pool keeps track of connection credentials,
so when a connection is created, it can locate a connection authorized for the specified user.

I think this issue should be closed as invalid.

> Is DataSource.getConnection(user, pass) working the way it is suppose to?
> -------------------------------------------------------------------------
>
>                 Key: DBCP-209
>                 URL: https://issues.apache.org/jira/browse/DBCP-209
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 1.2.1
>            Reporter: Michael Remijan
>             Fix For: 1.3
>
>
> In Tomcat's server.xml, I create a DataSource resource using the FACTORY org.apache.commons.dbcp.BasicDataSourceFactory
and I also provide a  URL and a DRIVERCLASSNAME.  However I do not provide USERNAME or PASSWORD
because I want to use DataSource.getConnection(user, pass) in my application.  When I call
DataSource.getConnection(user, pass) I get the following exception, java.sql.SQLException:
invalid arguments in call, which was unexpected.  I dug into the source code for BasicDataSource
and I found what I think is the source of the problem.  First, the method getConnection(user,
pass) call the createDataSource() method.  The createDataSource() method creates a Properties
object and tries to put the username and password into the properties object.  However, because
the server.xml file does contain a username or password, this Properties object (named connectionProperties
in the code) is empty.  The createDataSource() the proceeds to call the validateConnectionFactory()
method.  This method then tries to get a Connection object!! This attempt fails because the
Properties object has no username or password in it hence the Oracle driver complains about
being passed invalid arguments.  My question is why is the code working this way?  Why does
the createDataSource() and validateConnectionFactory() methods assume the username and password
have been set in server.xml and then attempt to try to return a Connection object with the
username and password passed to the getConnection(user, pass) method?  It would seem to me
the createDataSource() and validateConnectionFactory() methods should be aware of the username
and password passed to the getConnection(user, pass) if this method is used.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message