Package org.osgi.service.jdbc
Interface DataSourceFactory
public interface DataSourceFactory
A factory for JDBC connection factories. There are 3 preferred connection
factories for getting JDBC connections:
javax.sql.DataSource,
javax.sql.ConnectionPoolDataSource, and
javax.sql.XADataSource.
DataSource providers should implement this interface and register it as an
OSGi service with the JDBC driver class name in the
OSGI_JDBC_DRIVER_CLASS property.- "ThreadSafe"
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe "databaseName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "dataSourceName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "description" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "initialPoolSize" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.static final StringThe "maxIdleTime" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.static final StringThe "maxPoolSize" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.static final StringThe "maxStatements" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.static final StringThe "minPoolSize" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.static final StringThe "networkProtocol" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "password" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "portNumber" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "propertyCycle" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.static final StringThe "roleName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "serverName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "url" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringThe "user" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).static final StringService property used by aDataSourceFactoryto declare the capabilities when registering a JDBC DataSourceFactory service.static final StringOSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aConnectionPoolDataSourceinvoking thecreateConnectionPoolDataSource(Properties props)method.static final StringOSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aDataSourceinvoking thecreateDataSource(Properties props)method.static final StringOSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aDriverinvoking thecreateDriver(Properties props)method.static final StringOSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aXADataSourceinvoking thecreateXADataSource(Properties props)method.static final StringService property used by a JDBC driver to declare the driver class when registering a JDBC DataSourceFactory service.static final StringService property used by a JDBC driver to declare the driver name when registering a JDBC DataSourceFactory service.static final StringService property used by a JDBC driver to declare the driver version when registering a JDBC DataSourceFactory service. -
Method Summary
Modifier and TypeMethodDescriptionCreate a newConnectionPoolDataSourceusing the given properties.createDataSource(Properties props) Create a newDataSourceusing the given properties.createDriver(Properties props) Create a newDriverusing the given properties.createXADataSource(Properties props) Create a newXADataSourceusing the given properties.
-
Field Details
-
OSGI_JDBC_CAPABILITY
Service property used by aDataSourceFactoryto declare the capabilities when registering a JDBC DataSourceFactory service. Clients may filter or test this property to determine if the create method can be used. The type of this service property isString+- Since:
- 1.1
- See Also:
-
OSGI_JDBC_CAPABILITY_DRIVER
OSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aDriverinvoking thecreateDriver(Properties props)method.- Since:
- 1.1
- See Also:
-
OSGI_JDBC_CAPABILITY_DATASOURCE
OSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aDataSourceinvoking thecreateDataSource(Properties props)method.- Since:
- 1.1
- See Also:
-
OSGI_JDBC_CAPABILITY_CONNECTIONPOOLDATASOURCE
OSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aConnectionPoolDataSourceinvoking thecreateConnectionPoolDataSource(Properties props)method.- Since:
- 1.1
- See Also:
-
OSGI_JDBC_CAPABILITY_XADATASOURCE
OSGI_JDBC_CAPABILITYservice property which indicates that theDataSourceFactoryis able to provide aXADataSourceinvoking thecreateXADataSource(Properties props)method.- Since:
- 1.1
- See Also:
-
OSGI_JDBC_DRIVER_CLASS
Service property used by a JDBC driver to declare the driver class when registering a JDBC DataSourceFactory service. Clients may filter or test this property to determine if the driver is suitable, or the desired one.- See Also:
-
OSGI_JDBC_DRIVER_NAME
Service property used by a JDBC driver to declare the driver name when registering a JDBC DataSourceFactory service. Clients may filter or test this property to determine if the driver is suitable, or the desired one.- See Also:
-
OSGI_JDBC_DRIVER_VERSION
Service property used by a JDBC driver to declare the driver version when registering a JDBC DataSourceFactory service. Clients may filter or test this property to determine if the driver is suitable, or the desired one.- See Also:
-
JDBC_DATABASE_NAME
The "databaseName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_DATASOURCE_NAME
The "dataSourceName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_DESCRIPTION
The "description" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_NETWORK_PROTOCOL
The "networkProtocol" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_PASSWORD
The "password" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_PORT_NUMBER
The "portNumber" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_ROLE_NAME
The "roleName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_SERVER_NAME
The "serverName" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_USER
The "user" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_URL
The "url" property that DataSource clients should supply a value for when callingcreateDataSource(Properties).- See Also:
-
JDBC_INITIAL_POOL_SIZE
The "initialPoolSize" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.- See Also:
-
JDBC_MAX_IDLE_TIME
The "maxIdleTime" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.- See Also:
-
JDBC_MAX_POOL_SIZE
The "maxPoolSize" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.- See Also:
-
JDBC_MAX_STATEMENTS
The "maxStatements" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.- See Also:
-
JDBC_MIN_POOL_SIZE
The "minPoolSize" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.- See Also:
-
JDBC_PROPERTY_CYCLE
The "propertyCycle" property that ConnectionPoolDataSource and XADataSource clients may supply a value for when callingcreateConnectionPoolDataSource(Properties)orcreateXADataSource(Properties)on drivers that support this property.- See Also:
-
-
Method Details
-
createDataSource
Create a newDataSourceusing the given properties.- Parameters:
props- The properties used to configure theDataSource.nullindicates no properties. If the property cannot be set on theDataSourcebeing created then aSQLExceptionmust be thrown.- Returns:
- A configured
DataSource. - Throws:
SQLException- If theDataSourcecannot be created.
-
createConnectionPoolDataSource
Create a newConnectionPoolDataSourceusing the given properties.- Parameters:
props- The properties used to configure theConnectionPoolDataSource.nullindicates no properties. If the property cannot be set on theConnectionPoolDataSourcebeing created then aSQLExceptionmust be thrown.- Returns:
- A configured
ConnectionPoolDataSource. - Throws:
SQLException- If theConnectionPoolDataSourcecannot be created.
-
createXADataSource
Create a newXADataSourceusing the given properties.- Parameters:
props- The properties used to configure theXADataSource.nullindicates no properties. If the property cannot be set on theXADataSourcebeing created then aSQLExceptionmust be thrown.- Returns:
- A configured
XADataSource. - Throws:
SQLException- If theXADataSourcecannot be created.
-
createDriver
Create a newDriverusing the given properties.- Parameters:
props- The properties used to configure theDriver.nullindicates no properties. If the property cannot be set on theDriverbeing created then aSQLExceptionmust be thrown.- Returns:
- A configured
Driver. - Throws:
SQLException- If theDrivercannot be created.
-