我正在使用带@JmsListener注释的方法侦听JMS消息,如下所示。
@JmsListener
@JmsListener(destination="exampleQueue") public void fetch(@Payload String message){ process(message); }
当此方法执行导致异常时,我收到警告日志
Execution of JMS message listener failed, and no ErrorHandler has been set.
我该ErrorHandler如何处理此案。我正在使用Spring Boot 1.3.3.RELEASE
ErrorHandler
虽然使用注释一样@EnableJms,@JmsListener等来的工作与Spring JMS的的ErrorHandler可以设置这样的
@EnableJms
@Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(ConnectionFactory connectionFactory, ExampleErrorHandler errorHandler) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setErrorHandler(errorHandler); return factory; } @Service public class ExampleErrorHandler implements ErrorHandler{ @Override public void handleError(Throwable t) { //handle exception here } }
此处提供更多详细信息:注释驱动的侦听器端点