Class DelegatingDataSourceFactory
java.lang.Object
org.apache.cayenne.configuration.server.DelegatingDataSourceFactory
- All Implemented Interfaces:
DataSourceFactory
public class DelegatingDataSourceFactory extends Object implements DataSourceFactory
A
DataSourceFactory
that delegates DataSource creation to another factory,
which is determined dynamically per DataNodeDescriptor. The delegate class may be
explicitly defined in the DataNodeDescriptor
. If not, and if the descriptor has
a configuration resource attached to it, XMLPoolingDataSourceFactory
is used.
If the environment contains properties cayenne.jdbc.url.domain_name.node_name
(or cayenne.jdbc.url) and cayenne.jdbc.driver.domain_name.node_name
(or cayenne.jdbc.driver), any DataSourceFactory configured in the
DataNodeDescriptor is ignored, and the PropertyDataSourceFactory
is used.
- Since:
- 3.1
-
Field Summary
Fields Modifier and Type Field Description protected Map<DataSource,ScopeEventListener>
managedDataSources
protected AdhocObjectFactory
objectFactory
protected RuntimeProperties
properties
-
Constructor Summary
Constructors Constructor Description DelegatingDataSourceFactory()
-
Method Summary
Modifier and Type Method Description protected void
attachToScope(DataSource dataSource)
Ensure that DataSource implementations returned from this factory receiveBeforeScopeEnd
events.DataSource
getDataSource(DataNodeDescriptor nodeDescriptor)
Returns DataSource object based on the configuration provided in the "nodeDescriptor".protected DataSourceFactory
getDataSourceFactory(DataNodeDescriptor nodeDescriptor)
protected boolean
shouldConfigureDataSourceFromProperties(DataNodeDescriptor nodeDescriptor)
void
shutdown()
-
Field Details
-
objectFactory
-
properties
-
managedDataSources
-
-
Constructor Details
-
DelegatingDataSourceFactory
public DelegatingDataSourceFactory()
-
-
Method Details
-
getDataSource
Description copied from interface:DataSourceFactory
Returns DataSource object based on the configuration provided in the "nodeDescriptor".- Specified by:
getDataSource
in interfaceDataSourceFactory
- Throws:
Exception
-
shutdown
-
attachToScope
Ensure that DataSource implementations returned from this factory receiveBeforeScopeEnd
events. -
getDataSourceFactory
-
shouldConfigureDataSourceFromProperties
-