You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Matthew Pitts (JIRA)" <ji...@apache.org> on 2015/08/13 17:37:45 UTC
[jira] [Created] (ARIES-1376) RecoverableDataSource passes empty,
non-null username/password
Matthew Pitts created ARIES-1376:
------------------------------------
Summary: RecoverableDataSource passes empty, non-null username/password
Key: ARIES-1376
URL: https://issues.apache.org/jira/browse/ARIES-1376
Project: Aries
Issue Type: Bug
Components: Transaction
Affects Versions: transaction-jdbc-2.1.1
Reporter: Matthew Pitts
When trying to combine the below components into an OSGi application to create a JPA+JTA+JNDI-DataSource persistence unit, I get runtime connection errors to MySQL saying "Access denied for user ''@'localhost' (using password: NO)".
* eclipselink
* aries-jpa
* aries-transaction
* pax-jdbc
* pax-jdbc-pool-aries
Tracing through the code, it seems as though empty-string username and password values are being passed through to the factory types, which are in-turn calling the two-arg form of getConnection, rather than the no-arg form. I would expect it to be calling the no-arg form for delegated/pooled DataSource connections.
The empty-string username and password values seem to originate from the fields on RecoverableDataSource, as it defaults them to empty strings rather than nulls. If I remove these default field values, my app seems to run as expected with no connection errors and I am able to read from the database.
I'm not sure if the empty-string values need to stay here and there should be some additional downstream check somewhere else for non-null and non-empty before deciding which getConnection to invoke. Or, if it would be OK to just have these fields default to null.
If someone can confirm this is a bug I may be able to put together a patch. I'm currently building my workaround using the source available from maven for the org.apache.aries.transaction.jdbc-2.1.1 bundle.
Thanks
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)