0

我正在使用 Spring 的 ApplicationEventMulticaster。

监听事件时如何配置未捕获的错误处理?

    public ApplicationEventMulticaster asyncApplicationEventMulticaster() {
        SimpleApplicationEventMulticaster eventMulticaster = new 
        SimpleApplicationEventMulticaster(); 
        eventMulticaster.setTaskExecutor(getAsyncExecutor());
        return eventMulticaster;
    }
4

1 回答 1

0

包装执行器:

public class LoggingExecutor implements Executor {
private static final Logger logger = LoggerFactory.getLogger(LoggingExecutor.class);
private Executor executor;

public LoggingExecutor(Executor executor) {
    this.executor = executor;
}

@Override
public void execute(Runnable task) {
    Runnable runnable=new Runnable() {
        @Override
        public void run() {
            try {
                task.run();
            } catch (Exception e) {
                logger.error("Uncaught exception", e);
                throw e;
            }
        }
    };
    executor.execute(task);


}}
于 2018-01-19T08:20:59.600 回答