[hibernate-issues] [Hibernate-JIRA] Created: (HHH-4574) ConnectionProviderFactory.getConnectionProperties() includes extra properties
Kevin Bowman (JIRA)
noreply at atlassian.com
Fri Nov 13 13:15:09 EST 2009
ConnectionProviderFactory.getConnectionProperties() includes extra properties
------------------------------------------------------------------------------
Key: HHH-4574
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4574
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.2.4.sp1
Environment: Hibernate 3.2.4.sp1, Derby DB.
Any Java environment where System properties include many properties whose names *include* 'hibernate.connection' but do not *start with* 'hibernate.connection'.
Reporter: Kevin Bowman
Attachments: org.hibernate.connection.ConnectionProviderFactory.patch, PropertiesTest.java
In our environment we are setting a number of properties with keys like 'rpt.3.hibernate.connection.url'. They are used indirectly for configuring hibernate, but only a small fraction of them are used for configuring any given hibernate session. Unfortunately, all these System properties are being pulled into JDBC URL because of ConnectionProviderFactory, which causes problems like this with DerbyDB:
2009-11-13 09:57:19,065 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] WARN com.mchange.v2.resourcepool.BasicResourcePool - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask at 67f2b0dd -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLTransientConnectionException: A connection could not be established because the database name 'reports/lisa-reports.db;ction.password_enc=76f271db3661fd50082e68d4b953fbee;ction.username=sa;autocommit=false;ion.url=internal;create=true;ction.url=jdbc:derby://localhost:1527/db/reports.db;ction.driver_class=org.apache.derby.jdbc.ClientDriver' is larger than the maximum length allowed by the network protocol.
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Caused by: org.apache.derby.client.am.SqlException: A connection could not be established because the database name 'reports/lisa-reports.db;ction.password_enc=76f271db3661fd50082e68d4b953fbee;ction.username=sa;autocommit=false;ion.url=internal;create=true;ction.url=jdbc:derby://localhost:1527/db/reports.db;ction.driver_class=org.apache.derby.jdbc.ClientDriver' is larger than the maximum length allowed by the network protocol.
at org.apache.derby.client.net.NetConnectionRequest.buildRDBNAM(Unknown Source)
at org.apache.derby.client.net.NetConnectionRequest.buildACCSEC(Unknown Source)
at org.apache.derby.client.net.NetConnectionRequest.writeAccessSecurity(Unknown Source)
at org.apache.derby.client.net.NetConnection.writeServerAttributesAndKeyExchange(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowServerAttributesAndKeyExchange(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowUSRIDPWDconnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown Source)
... 9 more
Attached is a test case and patch.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list