I have two Remote Methods in an EJB (which is also a service endpoint). The first method (m1) is given the transaction attribute of Supports and the other (m2) RequiresNew.
m1() get a list of Items and for each calls using sessionContext.getEJBObject().m2(). [m1 is called using the web-service.]
The total timeout value is 180 sec and the max transaction timeout value is 240 sec.
What I find is that after overall 180 sec all calls to m2() start to time-out. Before the 180 sec mark, all m2() transactions are successfully committed.
Shouldn't every new transaction (m2) get full 180 sec to run? Or something else could be wrong here?
The way it's behaving it seems more like a call time-out rather than a transaction timeout, a "Requires New" initiates a new transaction every time... doesn't it.
If I set the total time-out value to 0, m2() calls would run successfully up to the max time-out value and then start failing.