[wildfly-dev] What should the EJB3 StatefulSessionSynchronizationInterceptor.processInvocation() do for transactions that are already committed or rolled back

Scott Marlow smarlow at redhat.com
Thu Aug 14 17:33:07 EDT 2014


On 08/14/2014 05:05 PM, Stuart Douglas wrote:
>>
>> Checking for STATUS_ROLLEDBACK, helps my test case somewhat.  I am still
>> seeing the below mention (WFLY-3730) JPA container failure as a result
>> of the transaction status changing from active, to rolled back, after I
>> called transaction.getStatus() (which returned STATUS_ACTIVE).
>>
>> I'm not quite sure what to do with the "IllegalStateException" that is
>> thrown in either case (EJB or JPA container), since the transaction
>> status can change after StatefulSessionSynchronizationInterceptor checks
>> the status (e.g. in the transaction time out case that my testing is
>> purposely hitting).
>
> That is a massive edge case and there is not really anything that can be
> done about it, all you could really do is catch the exception and log it
> at debug.
>
> Stuart

Agreed, I tried one suggestion of catching the ISE and ignoring it if 
the transaction is ended but that doesn't help, as we fail elsewhere. 
It is a massive edge case, as we deal with transactions all over the 
place.

Thanks for the response.

Scott


More information about the wildfly-dev mailing list