public class BeanFactoryDataSourceLookup extends Object implements DataSourceLookup, BeanFactoryAware
DataSourceLookup
implementation based on a Spring BeanFactory
.
Will lookup Spring managed beans identified by bean name,
expecting them to be of type javax.sql.DataSource
.
BeanFactory
Constructor and Description |
---|
BeanFactoryDataSourceLookup()
Create a new instance of the
BeanFactoryDataSourceLookup class. |
BeanFactoryDataSourceLookup(BeanFactory beanFactory)
Create a new instance of the
BeanFactoryDataSourceLookup class. |
Modifier and Type | Method and Description |
---|---|
DataSource |
getDataSource(String dataSourceName)
Retrieve the DataSource identified by the given name.
|
void |
setBeanFactory(BeanFactory beanFactory)
Callback that supplies the owning factory to a bean instance.
|
public BeanFactoryDataSourceLookup()
BeanFactoryDataSourceLookup
class.
The BeanFactory to access must be set via setBeanFactory
.
public BeanFactoryDataSourceLookup(BeanFactory beanFactory)
BeanFactoryDataSourceLookup
class.
Use of this constructor is redundant if this object is being created
by a Spring IoC container, as the supplied BeanFactory
will be
replaced by the BeanFactory
that creates it (c.f. the
BeanFactoryAware
contract). So only use this constructor if you
are using this class outside the context of a Spring IoC container.
beanFactory
- the bean factory to be used to lookup DataSources
public void setBeanFactory(BeanFactory beanFactory)
BeanFactoryAware
Invoked after the population of normal bean properties
but before an initialization callback such as
InitializingBean.afterPropertiesSet()
or a custom init-method.
setBeanFactory
in interface BeanFactoryAware
beanFactory
- owning BeanFactory (never null
).
The bean can immediately call methods on the factory.BeanInitializationException
public DataSource getDataSource(String dataSourceName) throws DataSourceLookupFailureException
DataSourceLookup
getDataSource
in interface DataSourceLookup
dataSourceName
- the name of the DataSourcenull
)DataSourceLookupFailureException
- if the lookup failed