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