Package com.isomorphic.datasource
Class DataSourceManager
java.lang.Object
com.isomorphic.base.Base
com.isomorphic.datasource.DataSourceManager
- All Implemented Interfaces:
com.isomorphic.base.IAutoConfigurable
public class DataSourceManager extends com.isomorphic.base.Base
This class contains static utility methods for obtaining a DataSource instance from the pool, and returning those instances. Note that you need to take care to free (return) every DataSource object you obtain using these APIs, or you will leak objects.
Note that these APIs are only intended for use in cases where your code is not running in the context of an RPCManager
, such as a non-servlet application or some init-time logic. For normal client-server transaction code that has access to an RPCManager, use RPCManager.getDataSource()
instead; this API tracks and frees all DataSource instances it returns at the end of the transaction cycle, so you don't need to worry about your application code leaking DataSource objects.
Scan the client-side documentation for "standaloneDataSource" for details and examples of how to use DataSource features in a non-servlet application
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
clearPooledInstances
(String dsName) Clears all instances of the named DataSource from the poolstatic void
free
(DataSource ds) Frees the parameter DataSource object by returning it to the pool.static void
Frees the parameter DataSource object by returning it to the poolstatic DataSource
Returns a DataSource object from the pool, creating a new instance if necessary.static DataSource
getDataSource
(String name) Returns a DataSource object from the pool, creating a new instance if necessary.Returns a Set containing the identifiers of each datasource known to the DataSourceManager.static void
Restarts DataSource pooling.
-
Method Details
-
restartPoolManager
Restarts DataSource pooling. This operation creates a new pool environment, effectively clearing all instances of all DataSources from the pool.- Throws:
Exception
-
clearPooledInstances
Clears all instances of the named DataSource from the pool- Parameters:
dsName
- The name of the DataSource for which we should clear instances- Throws:
Exception
-
getDataSource
Returns a DataSource object from the pool, creating a new instance if necessary. Note that you must be careful to return the DataSource object to the pool using thefree(com.isomorphic.datasource.DataSource)
method, or you will leak objects.- Parameters:
name
- The name of the DataSource to return an instance of- Throws:
Exception
-
get
Returns a DataSource object from the pool, creating a new instance if necessary. This method is identical togetDataSource(java.lang.String)
.- Parameters:
name
- The name of the DataSource to return an instance of- Throws:
Exception
-
freeDataSource
Frees the parameter DataSource object by returning it to the pool- Parameters:
ds
- The DataSource instance to free (return to the pool)
-
free
Frees the parameter DataSource object by returning it to the pool. This method is identical tofreeDataSource(com.isomorphic.datasource.DataSource)
.- Parameters:
ds
- The DataSource instance to free (return to the pool)
-
getDefinedDataSourceIdentifiers
Returns a Set containing the identifiers of each datasource known to the DataSourceManager.- Returns:
- a Set containing the identifiers of each datasource known to the DataSourceManager
-