HSQLDB Says ‘No’; Bitronix Chafes

The currently-released version of HSQLDB, 1.8.0, doesn’t support XA transactions (though I see work thereon in the trunk).  This doesn’t please Bitronix, which declares the situation an unsafe one in which to start up:

bitronix.tm.utils.InitializationException: recovery failed, cannot safely start the transaction manager
...
Caused by: bitronix.tm.resource.ResourceConfigurationException: property <className> for resource <ds1> in resources configuration file must be the name of a class implementing either javax.sql.XADataSource or javax.jms.XAConnectionFactory

(To be fair, it’s hardly Bitronix’s fault we supplied it with a class that didn’t implement a required interface!)

Hmm… will we:

Or maybe we should try the H2 database engine, which already supports XA transactions and boasts a javax.sql.XADataSource-implementing JdbcDataSource class to back that up?  I wonder how much of our testing infrastructure that would gum up, changing test-databases.

Update 8/21/2008 – There’s a way around this limitation — see comment #1!

2 thoughts on “HSQLDB Says ‘No’; Bitronix Chafes

  1. Wow, is there anything you haven’t thought of? :) I’ll have to have a look at this.

    Update: I’ve got it working using Last Resource Commit, with a single participating resource.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.