Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
1.0.0
-
None
Description
Noticed when using OWB 1.0, apparently the issue is not fixed in 1.1 by looking at the code.
In the Interceptors specification it is said that around-invoke and around-timeout interceptors are allowed to catch and suppress exceptions and recover by calling proceed(). Essentially this means that the state of the InvocationContext and associated interceptor chain must be restored to the state before the execution of the proceed() method, so that the following interceptors execute consistently upon recovery.
However, the InvocationContext will not reset the state upon returning from the call (in the try block), which means that all the interceptors that have successfully executed in the initial call will be omitted on recovery.