Dave (and the rest of the list),
I finally made the time today to sift through our XA implementation code, separating it out so it does not interfere with the original PGXADataSource code, and coalescing the commits in a second branch of our github repository.
I think this should address all the concerns I made note of back in January & February.
I've issued two pull requests which make the following changes:
https://github.com/pgjdbc/pgjdbc/pull/64 * Respect the ${srcdir} in the ant build.xml.
https://github.com/pgjdbc/pgjdbc/pull/65 * Make minor changes to the class hierarchy for PGXADataSource
** Expose a pooled connections underlying Connection to sub-classes.
** Makes the abstract classes actually Abstract, and pushes the responsibility of creating an XAConnection object down to the concrete implementation (PGXADataSource).
** Introduces the PGFullXA* classes, which represent the alternate implementation we cooked up for fully supporting interleaving.
** LOTS of test cases! :-D
To use this implementation instead of the original PGXADataSource, just change your XA data source class to PGFullXADataSource.
I look forward to the review of these pull requests!
Regards,
-Bryan Varner