public interface DataSourceBuilder
DataSource
instances using a DataSourceConfigProperties
configuration
properties source.
The DataSource
instances are created and configured using a suitable DataSourceFactory
, bound to a
symbolic type name which can be specified using the DataSourceConfigProperties.TYPE
property. The
DataSourceFactory
which corresponds to a DataSource
type name must be registered to build the
DataSource using the registerFactory(DataSourceFactory)
method. Default factories can be registered using
default Java ServiceLoader
extension, through a com.holonplatform.jdbc.DataSourceFactory
file
under the META-INF/services
folder.
The builder supports DataSourcePostProcessor
registration to initialiaze and/or configure the created
DataSource
instances. Default post processors can be registered using default Java ServiceLoader
extension, through a com.holonplatform.jdbc.DataSourcePostProcessor
file under the
META-INF/services
folder.
DataSourceConfigProperties
Modifier and Type | Interface and Description |
---|---|
static interface |
DataSourceBuilder.Builder
Direct
DataSource instance builder. |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_PRIORITY
Default
DataSourceBuilder priority if not specified using Priority annotation. |
static String |
TYPE_BASIC
Default DataSource type: BasicDataSource
|
static String |
TYPE_DBCP
Default DataSource type: DBCP 2 DataSource
|
static String |
TYPE_HIKARICP
Default DataSource type: HikariCP DataSource
|
static String |
TYPE_JNDI
Default DataSource type: JNDI DataSource
|
static String |
TYPE_TOMCAT
Default DataSource type: Tomcat DataSource
|
Modifier and Type | Method and Description |
---|---|
DataSource |
build(DataSourceConfigProperties configurationProperties)
Build a DataSource instance using given configuration properties.
|
static DataSource |
build(String propertiesFileName)
Convenience method to directly build a
DataSource using given DataSource configuration properties file
name. |
static DataSource |
build(String propertiesFileName,
ClassLoader classLoader)
Convenience method to directly build a
DataSource using given DataSource configuration properties file
name. |
static DataSourceBuilder.Builder |
builder()
Get a
DataSourceBuilder.Builder to set configuration properties and directly obtain a DataSource instance. |
static DataSourceBuilder |
create()
Create a new
DataSourceBuilder using the default ClassLoader. |
static DataSourceBuilder |
create(ClassLoader classLoader)
Create a new
DataSourceBuilder . |
void |
registerFactory(DataSourceFactory factory)
Register a
DataSourceFactory to be used to build DataSource instances of the type returned by the
DataSourceFactory.getDataSourceType() method. |
void |
registerPostProcessor(DataSourcePostProcessor postProcessor)
Register a new
DataSourcePostProcessor to initialiaze and/or configure the created DataSource
instances. |
static final String TYPE_BASIC
static final String TYPE_HIKARICP
static final String TYPE_DBCP
static final String TYPE_TOMCAT
static final String TYPE_JNDI
static final int DEFAULT_PRIORITY
DataSourceBuilder
priority if not specified using Priority
annotation.void registerFactory(DataSourceFactory factory)
DataSourceFactory
to be used to build DataSource
instances of the type returned by the
DataSourceFactory.getDataSourceType()
method.
Any previous binding with given type will be replaced by the given DataSourceFactory
.
factory
- the factory to register (not null)DataSourceConfigProperties.TYPE
void registerPostProcessor(DataSourcePostProcessor postProcessor)
DataSourcePostProcessor
to initialiaze and/or configure the created DataSource
instances.postProcessor
- Post processor to register (not null)DataSource build(DataSourceConfigProperties configurationProperties) throws com.holonplatform.core.config.ConfigPropertySet.ConfigurationException
configurationProperties
- Configuration propertiescom.holonplatform.core.config.ConfigPropertySet.ConfigurationException
- Error configuring DataSource using given configuration propertiesstatic DataSourceBuilder create()
DataSourceBuilder
using the default ClassLoader. The builder will be initialized with
default DataSourceFactory
s and DataSourcePostProcessor
s loaded using default Java
ServiceLoader
extensions.static DataSourceBuilder create(ClassLoader classLoader)
DataSourceBuilder
. The builder will be initialized with default DataSourceFactory
s
and DataSourcePostProcessor
s loaded using default Java ServiceLoader
extensions.classLoader
- The ClassLoader to use to initialize the builder (not null)static DataSource build(String propertiesFileName)
DataSource
using given DataSource configuration properties file
name.
See DataSourceConfigProperties
for available DataSource configuration property names and meaning.
propertiesFileName
- DataSource configuration properties file name (not null)DataSource
instance built according to provided configuration propertiescom.holonplatform.core.config.ConfigPropertySet.ConfigurationException
- Error configuring a DataSource using given configuration propertiesstatic DataSource build(String propertiesFileName, ClassLoader classLoader)
DataSource
using given DataSource configuration properties file
name.
See DataSourceConfigProperties
for available DataSource configuration property names and meaning.
propertiesFileName
- DataSource configuration properties file name (not null)classLoader
- The ClassLoader to use to load the fileDataSource
instance built according to provided configuration propertiescom.holonplatform.core.config.ConfigPropertySet.ConfigurationException
- Error configuring a DataSource using given configuration propertiesstatic DataSourceBuilder.Builder builder()
DataSourceBuilder.Builder
to set configuration properties and directly obtain a DataSource
instance.DataSource
builderCopyright © 2018 The Holon Platform. All rights reserved.