Sakai changes: use the SakaiPoolableConnectionFactory, removed some not-visible (damn the use of private!) code.
Create (if necessary) and return the internal data source we are using to manage our connections.
IMPLEMENTATION NOTE - It is tempting to use the "double checked locking" idiom in an attempt to avoid synchronizing on every single call to this method. However, this idiom fails to work correctly in the face of some optimizations
that are legal for a JVM to perform.
exception: SQLException - if the object pool cannot be created. |