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.
 
 -