Bug 4202 - transaction text should say resources get auto-enlisted
transaction text should say resources get auto-enlisted
Product: jbatch
Classification: Unclassified
Component: source
PC All
: P5 trivial
: ---
Assigned To: cvignola
Depends on:
  Show dependency treegraph
Reported: 2012-10-11 15:52 UTC by ScottKurz
Modified: 2013-01-16 23:07 UTC (History)
1 user (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description ScottKurz 2012-10-11 15:52:54 UTC
Maybe everyone would assume this anyway, but... 
Should we have something like the EJB 2 spec says for CMT:

"The Container automatically enlists all the resource managers
accessed by the business method with the transaction."

I did list this as trivial but it seems like it closes the minor possibility of misinterpretation.
Comment 1 cvignola 2012-10-11 16:08:28 UTC
I think the batch spec must clearly identify where transaction scopes exist during the batch job lifecycle.  I do not think the batch spec should say anything about resource enlistment because resource enlistment is outside the scope of the batch spec.
Comment 2 ScottKurz 2012-11-30 01:03:16 UTC
I think resource enlistment is critical in JEE since otherwise the programming model is potentially not standard (if you have to enlist yourself or with some other mechanism).

But I suppose you could take the perspective that if you're running in JEE you must be running in an EJB or servlet which already specifies that managed resources are enlisted in trans.

On the flip side..... transactions are tied to threads... and JobOperator will be spawning new threads... maybe it would be better to be clearer about enlistment.

On the other hand (flipping sides yet another time).... maybe this is more the domain of something like JSR 236 WorkManager thread.   

I think there's a strong case that it needs to be specified, I'm just not proving that it's the batch spec that does it.. but then who does?
Comment 3 cvignola 2013-01-16 17:22:21 UTC
the spec says when global trans are used.   pointing out that transactional resources get enlisted is unnecessary - that is well known.