Called when an exception is thrown while trying to retrieve principals. The default implementation logs a
warning message and forgets ('unremembers') the problem identity by calling
{@link #forgetIdentity(SubjectContext) forgetIdentity(context)} and then immediately re-throws the
exception to allow the calling component to react accordingly.
<p/>
This method implementation never returns an
object - it always rethrows, but can be overridden by subclasses for custom handling behavior.
<p/>
This most commonly would be called when an encryption key is updated and old principals are retrieved that have
been encrypted with the previous key.
@param e the exception that was thrown.
@param context the contextual data, usually provided by a {@link Subject.Builder} implementation, that
is being used to construct a {@link Subject} instance.
@return nothing - the original {@code RuntimeException} is propagated in all cases.
Called when an exception is thrown while trying to retrieve principals. The default implementation logs a warning message and forgets ('unremembers') the problem identity by calling {@link #forgetIdentity(SubjectContext) forgetIdentity(context)} and then immediately re-throws the exception to allow the calling component to react accordingly. <p/> This method implementation never returns an object - it always rethrows, but can be overridden by subclasses for custom handling behavior. <p/> This most commonly would be called when an encryption key is updated and old principals are retrieved that have been encrypted with the previous key.
@param e the exception that was thrown. @param context the contextual data, usually provided by a {@link Subject.Builder} implementation, that is being used to construct a {@link Subject} instance. @return nothing - the original {@code RuntimeException} is propagated in all cases.