Th­ese are the re­lease notes for Ex­tremeTrans­ac­tions 3.9.30

143963: AtomikosDataSourceBean: add "sup­port­sTmJoin" con­fig op­tion so TMJOIN can be dis­abled

A spe­cif­ic us­age pat­tern of our data­source (ds) may in­volve:

//start transaction
Connection c = ds.getConnection();
//DB Access 1: do stuff
c.close() 
c = ds.getConnection();
//DB Access 2: do more stuff
c.close()
//commit transaction

By de­fault, DB Ac­cess 2 will reuse the XA branch start­ed by DB Ac­cess 1, via the TMJOIN flag (XA-spe­cif­ic). It should be pos­si­ble to dis­al­low TMJOIN and con­nec­tion re­cy­cling when the data­base does not sup­port it (like SQLServ­er).

The con­nec­tion pool can re­trieve/check this from the con­fig­ured data­source prop­er­ties be­fore de­cid­ing to re­cy­cle a con­nec­tion. This will ef­fec­tive­ly avoid TMJOIN, and DB Ac­cess 2 will use a new, dif­fer­ent XA branch.

High­lights for how to make this work with SQLServ­er in terms of AtomikosDataSourceBean set­up:

ds.setStartNewXaBranchFlags(SQLServerXAResource.SSTRANSTIGHTLYCPLD);
ds.setSupportsTmJoin(false);

Avail­able to cus­tomers only. Want to be­come a cus­tomer?

Send me a quote
RSS

Com­ments

Add a com­ment

Cor­po­rate In­for­ma­tion

Atomikos Cor­po­rate Head­quar­ters
Hove­niersstraat, 39/1, 2800
Meche­len, Bel­gium

Con­tact Us

Copy­right 2026 Atomikos BVBA | Our Pri­va­cy Pol­i­cy
By us­ing this site you agree to our cook­ies. More info. That's Fine