Issue Details (XML | Word | Printable)

Key: NUCRDBMS-771
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Andy Jefferson
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus Store RDBMS

Support HikariCP connection pool

Created: 15/Mar/14 10:02 AM   Updated: 07/Apr/14 09:55 AM   Resolved: 28/Mar/14 04:37 PM
Component/s: Connection
Affects Version/s: None
Fix Version/s: 4.0.0.m2

File Attachments: 1. Text File NUCRDBMS-771.patch (7 kB)



 Description  « Hide
See the docs for this at https://github.com/brettwooldridge/HikariCP

Also note that this connection pool decides it is better to specify the "datasourceClassName" rather than the JDBC standard driver class name. This means that it requires significantly more work to implement than a standard JDBC connection pool.

See some discussion at
https://groups.google.com/forum/#!msg/hikari-cp/VJqoB84dUeI/H-OhAcVLso8J

and as a result is low priority. Maybe if they do release a version using the Driver API then it could be adopted quickly.

Andy Jefferson made changes - 15/Mar/14 11:57 AM
Field Original Value New Value
Fix Version/s 4.0.0.release [ 12122 ]
Description https://github.com/brettwooldridge/HikariCP See the docs for this at https://github.com/brettwooldridge/HikariCP

Also note that this connection pool decides it is better to specify the "datasourceClassName" rather than the JDBC standard driver class name. This means that it requires significantly more work to implement than a standard JDBC connection pool.

See some discussion at
https://groups.google.com/forum/#!msg/hikari-cp/VJqoB84dUeI/H-OhAcVLso8J

and as a result is low priority. Maybe if they do release a version using the Driver API then it could be adopted quickly.
Andy Jefferson added a comment - 15/Mar/14 11:58 AM
Sample implementation up to the point where we need a way of getting the "datasourceClassName".

Andy Jefferson made changes - 15/Mar/14 11:58 AM
Attachment NUCRDBMS-771.patch [ 12053 ]
Andy Jefferson added a comment - 20/Mar/14 02:59 PM
Further work, subject to this pool proving itself, would be to include it as a the builtin connection pool (change slf4j references to NucleusLogger, and isolate/remove any javassist code) and remove the DBCP code

Andy Jefferson added a comment - 28/Mar/14 04:37 PM
GitHub master adds support for HikariCP (needs v1.3.4+ of their pool)

Andy Jefferson made changes - 28/Mar/14 04:37 PM
Status Open [ 1 ] Resolved [ 5 ]
Fix Version/s 4.0.0.m2 [ 12121 ]
Resolution Fixed [ 1 ]
Andy Jefferson made changes - 02/Apr/14 04:28 PM
Status Resolved [ 5 ] Closed [ 6 ]
Brett Wooldridge added a comment - 07/Apr/14 07:25 AM
Thanks for this work. Note HikariCP does not support "driver based" configuration, not just DataSources.

Brett Wooldridge added a comment - 07/Apr/14 07:25 AM
Opps, "Thanks for this work. Note HikariCP does NOW support "driver based" configuration"...

Andy Jefferson added a comment - 07/Apr/14 09:55 AM
@Brett, yes, that's why DataNucleus requires 1.3.4+, since the 2 prominent Java persistence specs (JDO, JPA) (still! yes, I know heh) require the user to provide the ConnectionURL and ConnectionDriverName (and not DatasourceClassName).

If HikariCP didn't have the Javassist dependency then I'd be *much* more likely to provide it repackaged internally as the default builtin pool for DataNucleus (and I can dump the internal DBCP we have right now), but at least now people can take advantage of your advancements in this area :-)

Thanks for HikariCP btw.