今天有个需求就是根据队列中消息的数量来执行不同的代码。
代码如下:
获取MQ连接
private Channel getMqConnection(){
ConnectionFactory factory = new ConnectionFactory();
//设置MabbitMQ所在主机ip或者主机名
factory.setHost(host);
factory.setPort(port);
factory.setUsername(userName);
factory.setPassword(password);
Connection connection = null;
Channel channel = null;
try {
connection = factory.newConnection();
channel = connection.createChannel();
} catch (IOException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
return channel;
}
Channel channel = getMqConnection();
AMQP.Queue.DeclareOk declareOk = channel.queueDeclarePassive(queue);
int num = declareOk.getMessageCount();
然后就可以根据num的值来判断执行
本文介绍了一种根据RabbitMQ队列中消息数量来决定执行不同代码逻辑的方法。通过获取MQ连接并声明被动队列,可以得到消息计数,进而实现动态业务处理。
2960

被折叠的 条评论
为什么被折叠?



