最近我一直在测试使用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());
谢谢!