* @param request The request.
* @param sourceExceptionHandler Exception handler of the source actor.
*/
private void syncSendEvent(final RequestSource rs, final Request request,
final ExceptionHandler sourceExceptionHandler) {
final Mailbox oldSourceMailbox = rs.getMailbox();
final JARequest oldSourceRequest = oldSourceMailbox.getCurrentRequest();
final JAEventRequest jaRequest = new JAEventRequest(rs, this, request,
mailbox);
mailbox.setCurrentRequest(jaRequest);
try {
setExceptionHandler(null);
request.processRequest(this, JANoResponse.nrp);
} catch (final Throwable ex) {
final ExceptionHandler eh = getExceptionHandler();
if (eh != null)
try {
eh.process(ex);
return;
} catch (final Throwable x) {
getMailboxFactory().eventException(request, x);
}
else {
getMailboxFactory().eventException(request, ex);
}
}
oldSourceMailbox.setCurrentRequest(oldSourceRequest);
oldSourceMailbox.setExceptionHandler(sourceExceptionHandler);
}