Generic Driver Extender
Usage
The Pax JDBC Generic Driver Extender registers a DataSourceFactory
in the OSGi service registry on behalf of any OSGi-compatible JDBC driver with a META-INF/services/java.sql.Driver
resource. This resource is mandatory for any JDBC 4.0 driver.
This DataSourceFactory
implementation only supports the following methods:
DataSource createDataSource( Properties props ) throws SQLException; Driver createDriver( Properties props ) throws SQLException;
The methods createConnectionPoolDataSource()
and createXADataSource()
always throw an SQLException
.
Service Properties
The Generic Driver Extender registers each DataSourceFactory
with the following service properties:
osgi.jdbc.driver.class
= fully qualified class name of extended driver
createDataSource()
The argument passed to createDataSource()
supports the following properties:
DataSourceFactory.JDBC_URL
(mandatory)DataSourceFactory.JDBC_USER
DataSourceFactory.JDBC_PASSWORD
All other properties are ignored.
createDriver()
This method returns an instance of the driver class listed in the META-INF/services/java.sql.Driver
resource of the extended driver. Any properties passed to this method are ignored.
Obtaining a DataSourceFactory
To obtain a DataSourceFactory
, use any OSGi service lookup or injection method (Declarative Services, Blueprint) of your choice and specify the following properties:
objectClass
=org.osgi.service.jdbc.DataSourceFactory
osgi.jdbc.driver.class
= fully qualified class name of extended driver
Required Maven Artifacts
- org.ops4j.pax.jdbc:pax-jdbc
- an OSGi-ready JDBC driver (use the Pax URL
wrap:
Protocol to osgify a driver on the fly) - org.osgi:org.osgi.enterprise:4.2.0
- An OSGi 4.2 framework