【问题标题】:How to handle exceptions from a published event in Spring如何处理 Spring 中已发布事件的异常
【发布时间】:2018-07-02 19:24:50
【问题描述】:

我的应用程序使用 Spring 事件

@Resource
ApplicationEventPublisher publisher;

publisher.publishEvent(myEvent);

...

@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
public void handleEvent(MyEvent myEvent)

有很多这样的事件。有没有办法处理来自这些订阅方法的潜在异常?

理想情况下,与如何在 Web MVC 中为 RequestMapping 请求处理异常的方式类似,即

@ExceptionHandler(Exception.class)

【问题讨论】:

    标签: java spring exception-handling


    【解决方案1】:

    在这种情况下,您可能会使用ApplicationEventMulticaster,特别是SimpleApplicationEventMulticasterApplicationEventMulticaster 实际上只是 Publisher 的功能更强大的版本,它允许您执行诸如异步发布之类的操作。

    但是,您在此处寻找的功能是 Multicaster 上的 #setErrorHandler 方法,您可以在其中设置标准 Spring ErrorHandler,或者(可能是您想要做的)滚动您自己的通过ErrorHandler 接口。

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2019-08-24
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 2014-12-12
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多