To anyone who can help me out here....
I'm debugging some issues with the (I know, not officially supported)
PostgreSQL XA implementation and GlassFish, and I have some questions
regarding the behavior of the GlassFish TM.
1.) Does it attempt interleaving? (suspend / resume) So far, I've not
observed any problems there.
2.) How does it synchronize threads attempting to do work on behalf of a
single TX branch? I believe I'm seeing race conditions amongst threads
invoking start() and end() on XAResource in the postgres implementation
(which is, apparently, at this time, not thread safe). [0]
I have an interest in helping resolve the deficiencies in the PG driver,
and would be happy to help / work with anyone else whom may have that
same desire. Ultimately, what would be required of the PG XA Resource
implementation to be included as a 'supported' configuration [1] for
GlassFish JDBC drivers?
Regards,
-Bryan Varner
[0]
http://www.postgresql.org/message-id/A2B35D2698B0C74F9B8333525E67ED0135F89007@plindyexch02.polarislabs.lan
[1]
http://docs.oracle.com/cd/E18930_01/html/821-2416/beamw.html