StringAMQP使用@RabbitListener注解,如何进行手动ACK确认?
扖戯 2017-02-23 11:50:32 @Component
public class Receiver1 {
@RabbitListener(queues = "sys.topic.login.message")
@Transactional
public void process1(String message)throws Exception {
//int i = 1/0;
System.out.print("路由键:"+ MQMConstant.SYS_TOPIC_LOGIN_MESSAGE);
System.out.print("这里是接收者1答应消息: ");
System.out.println("SYS_TOPIC_ORDER_CALCULATE_ZZ_FEE process1 : " + message);
}
}
如上代码是使用@RabbitListener监听消息,在process1()不怕抛出异常的情况下是可以接受到消息的
但是如果出现异常,那么该条消息就不消费了,消息一直处于待消费状态,然后又来监听,又异常, 一直循环。
对于这种情况应该是没有手动ACK处理导致的,这种情况能否有好的处理方法?