当消费者从消息队列中拉取了一条消息,去处理某个业务的时候出现了异常,那这条消息没有被正确消费的时候我们该怎么处理呢?
rabbitmq有一个确认机制
首先看一下如果我们不做确认的话是一种什么情况
public class ConnectionUtil {
public static String QUEUE_NAME = "testQueue";
public static String EXCHANGE_NAME = "testExchange";
public static Connection getConnection() throws Exception{
ConnectionFactory factory = new ConnectionFactory();
//设置服务端所在地址
factory.setHost("127.0.0.1");
//设置端口号
factory.setPort(5672);
//设置用户名
factory.setUsername("helloWorld");
//设置密码
factory.setPassword("helloWorld");
//设置虚拟地址
factory.setVirtualHost("testHost");
return factory.newConnection();
}
}
public class Send {
public static void main(String[] args) throws Exception{
//获取连接
Connection connection = ConnectionUtil.getConnection();
Channel channel = conne