This is the first sta­ble cus­tomer re­lease on the 3.9.x branch, con­tain­ing ports of the fol­low­ing fix­es from ear­li­er re­leas­es.

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

Send me a quote

87749: Sup­port short prop­er­ties in JDBC and JMS con­nec­tors

We've im­proved sup­port for short prop­er­ties that need to be con­vert­ed from a text/XML con­fig­u­ra­tion file.

75549: Op­ti­mize JTA per­for­mance

The UserTrans­ac­tionMan­ag­er class has a class-lev­el syn­chro­nized block used for init pur­pos­es. We've added ex­tra checks so this block is only ex­e­cut­ed if re­al­ly need­ed. This op­ti­mizes per­for­mance by lim­it­ing the num­ber of cas­es where threads will block each oth­er.

68724: Me­mory leak in the JDK's Ob­jec­tOut­putStream

We've added a re­set of the un­der­ly­ing Ob­jec­tOut­putStream for se­ri­al­ized log­ging, to avoid high mem­o­ry con­sump­tion when the JDK keeps point­ers to all pre­vi­ous­ly se­ri­al­ized ob­jects since the last check­point.

102827: Er­rors on close/delist lead to con­nec­tion pool ex­haus­tion

Fixed a crit­i­cal bug where er­rors on delist would cause con­nec­tion pool ex­haus­tion.

84851: Avoid log­ging over­head and warn­ings for emp­ty trans­ac­tions

Emp­ty, com­mit­ting trans­ac­tions would need­less­ly gen­er­ate log­ging over­head and also gen­er­ate need­less heuris­tic warn­ings upon re­cov­ery. This has now been fixed. For the orig­i­nal re­port, see this fo­rum post.

107901: Avoid heuris­tic haz­ard state for re­cov­ered 1PC com­mit­ting trans­ac­tions

Com­mit­ting 1PC trans­ac­tions would be con­vert­ed to heuris­tic haz­ard cas­es upon re­cov­ery, which is in fact in­cor­rect be­cause these will then un­der­go 2PC com­mit retry. This has now been fixed: com­mit­ting 1PC trans­ac­tions are now sim­ply for­got­ten upon re­cov­ery.

99070: NPE in Ses­sionHan­dleS­tate at line 301

Im­proved syn­chro­niza­tion to avoid race con­di­tions while check­ing whether or not a con­nec­tion is tak­ing part in a trans­ac­tion. Also see this re­port in the fo­rums.

92227: Mock­i­to must not be a tran­si­tive de­pen­den­cy

Fixed pol­lut­ing Mock­i­to de­pen­den­cy in the poms.

107634: Fix zip file for Ex­tremeTrans­ac­tion­sForMaven: re­move top 2 di­rec­to­ry fold­ers

Re­moved top-lev­el fold­ers that make un­zip­ping to ar­ti­fac­to­ry im­prac­ti­cal.

91931: Small cor­rec­tion to im­prove log out­put in con­nec­tion pool

Im­proved log­ging dur­ing init of the con­nec­tion pool.

105547: Time­out of ac­tive trans­ac­tion gen­er­at­ing too much log con­tent

We now avoid gen­er­at­ing too much log con­tent for time­outs.

72744: Does max_ac­tives also take re­cov­ered co­or­di­na­tors into ac­count?

Fixed a con­di­tion where re­cov­ery could lead to out-of-mem­o­ry er­rors.

84252: Hide warn­ing on forceCloseAl­lPend­ingS­tate­ments

The log­ging noise in JDBC has been re­duced sig­nif­i­cant­ly.

84253: Log warn­ing in !XARe­sourceTrans­ac­tion if er­rors on pre­pare

Added warn­ing to the log if pre­pare yields er­rors.

86779: Add op­tion­al prop­er­ty to NOT set time­out on XARe­source so Or­a­cle er­rors are avoid­ed on re­cov­ery

The new 'prop­a­gateJ­taTime­outToXaRe­source' con­fig­u­ra­tion prop­er­ty for JDBC and JMS now al­lows you to dis­able time­outs prop­a­gate via XA. For some ven­dor's XARe­soure im­ple­men­ta­tions this time­out seems to give prob­lems and this prop­er­ty can serve as a workaround.

81146: Sup­port ven­dor-spe­cif­ic flags on XARe­source

Ven­dor-spe­cif­ic flags for start­ing a new XA branch as well as join­ing/sus­pend­ing/re­sum­ing/end­ing an ex­ist­ing branch are now sup­port­ed on the JDBC and JMS con­nec­tor class­es.

102830: Avoid log­ging user names and pass­words in plain text

The new prop­er­ty 'xaProp­er­tyNamesToHide' al­lows you to spec­i­fy what ven­dor-spe­cif­ic XA prop­er­ties should be hid­den in the log en­tries. Typ­i­cal­ly, this would be used for sen­si­tive in­for­ma­tion like pass­words.

89815: 3.8 re­lease: avoid Class.forName in log­ging for OSGi com­pat­i­bil­i­ty

Im­proved han­dling of class load­ing to be con­sis­tent in OSGi with the rest of the code base.

91579: Can­not in­stan­ti­ate JmxTrans­ac­tionSer­vice in OSGi

Fixed JMX to work in OSGi too.

84253: Log warn­ing in XARe­sourceTrans­ac­tion if er­rors on pre­pare

Added warn­ing to the log if pre­pare yields er­rors.

91719: UserTrans­ac­tionFac­to­ry (JNDI): re­turn UserTrans­ac­tionMan­ag­er rather than UserTrans­ac­tion

This should make out-of-the-box in­te­gra­tion with Tom­cat and Spring eas­i­er.

96003: Bug in Jm­sSen­derTem­plate: for unan­tic­i­pat­ed ex­cep­tions dur­ing send, con­nec­tions are not re­turned to pool?

Im­proved the way that un­ex­pect­ed er­rors are dealt with: the con­nec­tions should be closed in those cas­es also.

86014: This UserTrans­ac­tionMan­ag­er in­stance was closed al­ready

Im­proved be­hav­ior af­ter close: only be­gin() now throws an ex­cep­tion. The oth­er JTA meth­ods are al­lowed to pro­ceed with the in­ten­tion of max­i­miz­ing the chance of clean shut­down.

89030: Dead­lock in JMS con­nec­tion pool­ing mech­a­nism

Re­moved syn­chro­niza­tion is­sues among con­cur­rent threads that could cause a dead­lock.

93853: Sin­gleThread­edJm­sSen­derTem­plate does not re­cov­er from ses­sion er­ror?

This should now also be fixed.

95466: Dead­lock in trans­ac­tions-mes­sag­ing

Fixed a dead­lock sit­u­a­tion dur­ing shut­down.

80653: En­list­ing two XARe­sources via JTA API fails for same back­end

Check­ing for en­list­ed XARe­sources has been re­laxed to al­low more use cas­es than be­fore.

95823: XARe­sourceTrans­ac­tion.re­freshCon­nec­tion fails af­ter re­cov­ery

Fixed a bug where haz­ard XA branch­es could not ter­mi­nate due to con­nec­tiv­i­ty fail­ures af­ter restart.

95886: Co­or­di­na­torImp.re­cov­er() re­turns false in the wrong cas­es

Im­proved the way re­cov­ery di­ag­noses it­self - to avoid un­nec­es­sary log warn­ings.

85463: Bug in check­point­ing: the last im­age flushed is not tak­en into ac­count

This has been fixed.

84252: Hide warn­ing on forceCloseAl­lPend­ingS­tate­ments

The log­ging noise in JDBC has been re­duced sig­nif­i­cant­ly.

84253: Log warn­ing in XARe­sourceTrans­ac­tion if er­rors on pre­pare

Added warn­ing to the log if pre­pare yields er­rors.

80464: Er­ror on shut­down of Mes­sageDrivenCon­tain­er

Im­proved shut­down pro­ce­dure to wait for any lis­ten­er threads to exit first. This should avoid ugly shut­down warn­ings and im­prove over­all shut­down.

83599: Mes­sageDrivenCon­tain­er: add re­ceiveTime­out prop­er­ty

It is now pos­si­ble to spec­i­fy an (op­tion­al) ex­tra re­ceiveTime­out prop­er­ty - which will speed up shut­down be­cause blocked re­ceiv­er threads will exit soon­er if a val­ue is spec­i­fied low­er than the trans­ac­tion time­out.

72990: Ex­cep­tion on time­out of co­or­di­na­tor

Cor­rect­ed Nul­lPoin­t­erEx­cep­tion bug on re­cov­ery of cer­tain trans­ac­tion states.

73406: WG: Atomikos crash­es VM when con­nec­tion to MQSeries serv­er breaks

Added workaround for MQSeries mem­o­ry leak when con­nec­tiv­i­ty to the bro­ker goes down.

73193: Log warn­ing if pool shuts down with con­nec­tions in use

We now log a warn­ing if a con­nec­tion pool is shut­down while some con­nec­tions are still be­ing used.

73729: Con­nec­tion re­cy­cling bug in JMS

Fixed a bug where two sub­se­quent getCon­nec­tion() re­quests (by the same thread) would get the same con­nec­tion from the same AtomikosCon­nec­tionFac­to­ryBean - lead­ing to prob­lems with the lat­er close log­ic.

73756: Bug in Mes­sageCon­sumerSes­sion

Im­proved the retry/re­fresh log­ic when the JMS backed is un­reach­able.

72518: Bug in Ab­strac­tJm­sSen­derTem­plate if des­tion­a­tionName set

When us­ing the sendXXX util­i­ty meth­ods of the sender tem­plate, one would get ex­cep­tions if only the des­ti­na­tionName (not the des­ti­na­tion it­self) had been set. This has now been fixed.

71264: De­lay close of JMS ven­dor ses­sion un­til pend­ing trans­ac­tion is done

Fixed a bug where clos­ing a JMS ses­sion would also close the un­der­ly­ing ven­dor ses­sion, lead­ing to prob­lem­at­ic roll­back/com­mit.

71400: Cood­i­na­torImp: im­prove log­ging

Im­proved log­ging of non-re­cov­er­able co­or­di­na­tors to help di­ag­nose prob­lems.

71748: Timer thread caus­es thread­ing er­rors on MQSeries JMS

From now on, set­ting com.atom­ikos.icatch.thread­ed_2pc=false will also change the way the time­out mech­a­nism be­haves: ac­tive trans­ac­tions will no longer be rolled back by the time­out thread, but rather set to roll­back­On­ly in­stead. Other trans­ac­tion states are not af­fect­ed.

85290: Miss­ing fold­ers in 3.7.0 re­lease

Cor­rect­ed the doc­u­men­ta­tion: re­moved ob­so­lete ref­er­ences to fold­ers that no longer ex­ist in the 3.7 re­lease.

85291: START_HERE refers to wrong team page

Cor­rect­ed the link to the Atomikos team page in the re­lease doc­u­men­ta­tion.

85796: NPE when JMS serv­er not reach­able (us­ing Sin­gleThread­edJm­sSen­derTem­plate)

This bug has now been fixed.

86040: Port fix for 80464

Port­ed fix for case 80464 - er­ror on shut­down of Mes­sageDrivenCon­tain­er.

86041: Port fix for 83599

Port­ed fix for case 83599: Mes­sageDrivenCon­tain­er - add re­ceiveTime­out prop­er­ty.

86090: Trans­ac­tion­sEssen­tials guide still refers to old OraXidFac­to­ry

Re­moved ob­so­lete ref­er­ence to OraXidFac­to­ry in the docs.

74730: RMI ex­am­ples miss­ing in 3.7.0 re­lease

Added the RMI ex­am­ples - miss­ing in the 3.7.0 re­lease.

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