Re: Can RequiresNew EJB methods be called within a timeout/rolled-back transaction?
Thursday, September 6, 2001 04:48 AM
keep in mind that RequiresNew needs to suspend current transaction before starting its own for the duration of the method. therefore, what I am guessing is happening is that weblogic's implementation cannot suspend a transaction that has timed-out or has been explicitly set for rollback. whether this implementation is a valid one is questionnable but specifications are not clear on this issue and therefore weblogic probably decided to go with simpler solution of not allowing this behavior. the j2ee blueprints indicate that RequiresNew is particularly useful for logging so that even if the transaction fails, it is being logged as executed (if desired) and therefore I would think that weblogic's decision on this issue is a falacy and should be fixed in the next release, at least for the situation in which transaction is marked for rollback only. a timed-out transaction is a really gray area and I am sure that there are a lot of issues with it that I cannot think of now.