log.debug("Invoking pre-handler for event {}: {}", event, preHandler);
try {
preHandler.invoke(moduleObject, log);
} catch (Exception e) {
throw new ModuleEventException("Failed to execute pre-handler: " + preHandler, e);
}
}
ModuleEventException exception = null;
try {
// 执行event handler
log.debug("Invoking handler for event {}: {}", event, handler);
try {
result = handler.invoke(moduleObject, log);
} catch (Exception e) {
exception = new ModuleEventException("Failed to execute handler: " + handler, e);
}
} finally {
// 执行postHandler
if (postHandler != null) {
log.debug("Invoking post-handler for event {}: {}", event, postHandler);
try {
postHandler.invoke(moduleObject, log);
} catch (Exception e) {
if (exception == null) {
exception = new ModuleEventException("Failed to execute post-handler: " + postHandler, e);
}
}
}
}