[frs-296] FusionReactor 4.5.0: Briefer for Split-Jar JDBC Wrapper Users


This technote is for users who have previously applied FRS-240: "Standalone FR JDBC Wrapper Driver (for MySQL Connector/J etc.)".

Background

Because of the way J2EE classloaders are partitioned, in some configurations, FusionReactor's JDBC Wrapper was unable to wrap a driver because the classloader or JDBC Driver Manager forbade access to it.

The solution in all versions of FusionReactor prior to 4.5.0 is to apply Technote FRS-240, "Standalone FR JDBC Wrapper Driver (for MySQL Connector/J etc.)", commonly known as the split-jar procedure. This procedure split the FusionReactor system into two separate jars. One jar, fusionreactor-jdbc.jar was placed with the underlying JDBC driver jar. The second jar, fusionreactor-core.jar replaced the monolithic fusionreactor.jar, which was deleted. Because the -jdbc component could locate the underlying driver, and the two components could communicate, JDBC wrapper functionality was restored.

FusionReactor 4.5.0

FusionReactor 4.5.0 introduces a new option to the JDBC driver, cp, which is a comma-separated list of file paths pointing to jar files which contain the underlying driver to be wrapped.

It is no longer necessary to split the jar, and the FusionReactor 4.5.0 instance updater will in fact restore the monolithic FusionReactor jar file (fusionreactor.jar), and remove the core and JDBC split jars from the system.

You must then modify your datasource to add the cp option to point to the actual JAR which contains the driver you're wrapping. ColdFusion users, for example, can do this using the Data & Services -> Data Sources tool within the CF Administrator.

Many examples are provided in the JDBC Wrapper User Manual, see here.

For instance, if you were previously using a wrapped Microsoft SQL Server Driver, you must append a CP option which points to the jar. In this example, the jar has been installed to c:/jdbc/sqljdbc4.jar:

jdbc:fusionreactor:wrapper:{jdbc:sqlserver://int00d0:1433;databaseName=AdventureWorks};driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;name=testdb;cp=c:/jdbc/sqljdbc4.jar

Users of the Apache Derby database on ColdFusion must also use the autoCommit=false option to prevent CF committing the transaction before all data has been read. FRS-289, "Using the JDBC Wrapper with Apache Derby Database on ColdFusion" refers.

Issue Details

Type: Technote
Issue Number: FRS-296
Components: JDBC
Environment:
Resolution: Fixed
Last Updated: 16/May/12 3:28 PM
Affects Version: 4.5.0
Fixed Version: 4.5.0
Server:
Platform:
Related Issues: