Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top

This article will help you migrate JDBC applications developed for JBoss v4 to Apache Geronimo 2.1. This article is part of a series of migration articles covering different types of applications migration.

...

Note: Since Geronimo is still in its infancy some of the features provided by JBoss may not yet be implemented in Geronimo.

Feature

Apache Geronimo 2.1

JBoss v4

JDBC access

Geronimo does not have any direct integration with JDBC but supports access through the generic J2CA framework. The TranQL project has J2CA adapters for various databases.

JDBC access in JBoss is through JDBC connectors based on the JCA specification.

JCA implementation

Geronimo supports the JCA 1.5 specification and is backward compatible to the JCA 1.0 specification.

JBoss AS 4.0 implements the JCA (Java Connector Architecture) 1.5 specification instead of the JCA 1.0 in JBoss AS 3.2.

Data sources supported

TranQL has generic wrappers for data source, ConnectionPoolDatasource, and XADataSource.

Supports 5 types of data sources:

  • no-tx-datasource
  • local-tx-datasource
  • xa-datasource
  • ha-local-tx-datasource
  • ha-xa-datasource

Data source failover

TranQL has specialized drivers for certain databases (including Apache Derby, Oracle and soon DB2) that provide a tighter integration with the advanced features of the driver.
It is at this level that features such as load-balancing and failover would be provided. You can also use a C-JDBC wrapper for providing database clustering and failover.

JBoss has data source failover capabilities implemented through two data sources.
1) ha-local-tx-datasource - for local transactions.
2) ha-xa-datasource - for distributed transactions

XA support

Supports XA transactions, Local Transactions, and No transaction.

Supports XA transactions, Local Transactions, and No transaction.

Connection Manager Configurability

The J2CA framework is interceptor based which allows different parts of the connection framework to be plugged in.
Although you cannot plug in a custom connection manager now, this capability can be added fairly easily.

You can plug in your own custom connection manager if required.

JTA implementation

Transaction support is provided through JOTM and HOWL.

Full support for JTA through JBossJTA.

Connection pooling and management

Custom Geronimo Code and TranQL used for connection pooling and management.

JBossCX framework used for connection pooling and management.

Legacy driver support

Geronimo also provides this through the TranQL- connector JDBC to JCA wrapper in Geronimo. Supports JDBC 3.0 and 2.1.

JBoss provides connection to RDBMS that have not yet implemented JCA- JDBC drivers through JCA wrappers for JDBC drivers.

...

  1. Download and install JBoss v4 (for example, JBoss v4.0.2) as explained in the product documentation guides. From now on the installation directory will be referred as <jboss_home>
  2. Create a copy of the default JBoss v4 application server. Copy recursively <jboss_home>\server\default to <jboss_home>\server\<your_server_name>
  3. Start the new server by running the run.sh -c <your_server_name> command from the <jboss_home>\bin directory.
  4. Once the server is started, you can verify that it is running by opening a Web browser and pointing it to this URL: http://localhost:8080. You should see the JBoss Welcome window and be able to access the JBoss console.
  5. Once the application server is up and running, the next step is to install and configure all the remaining prerequisite software required by the sample application. This step is described in the following section.

...

The Geronimo environment
Anchor
Geronimo
Geronimo

Download and install Geronimo (for example, Geronimo 2.1.4) from the following URL:

http://geronimo.apache.org/downloads.html

...