是Spring @TransactionalEventListener的某种错误处理程序

时间:2016-04-13 11:37:39

标签: spring error-handling event-listener

最近我一直在测试使用Spring的新@TransactionalEventListener。 但我找不到一种很好的方法来处理可能在事件监听器方法中抛出的错误。 顺便说一下,我测试的@EventListener注释并没有相同的行为:RunTimeException按预期抛出。

例如,我想避免编写try catch以便能够了解错误:

@Component
public class PairingEventListener {

    ...

    @TransactionalEventListener
    @Transactional
    public void onPairingSuccessEvent(PairingSuccessEvent event) {
      try {
        // some code here that could throws runtime error
      } catch (Exception e) {
          logger.error(e);
      }
    }
}

有没有人知道是否有办法实现与JmsErrorHandler相当但与Spring ApplicationEvent相当的东西?

@Autowired
DefaultJmsListenerContainerFactory jmsListenerContainerFactory;

...

jmsListenerContainerFactory.setErrorHandler(new JmsErrorHandler());

谢谢!

0 个答案:

没有答案