As long as the interceptor throws an exception by executing prehandle, it will not perform the aftercompletion operation
If the after completion operation is not executed, there is no reasonable time to process the cleaning code (such as threadload and cache)
Comment From: rstoyanchev
This is expected behavior for afterCompletion
:
* <p>Note: Will only be called if this interceptor's {@code preHandle}
* method has successfully completed and returned {@code true}!
* <p>As with the {@code postHandle} method, the method will be invoked on each
* interceptor in the chain in reverse order, so the first interceptor will be
* the last to be invoked.