总感觉rocktMq注解只启动一个线程处理任务,实则不然。
指定线程池大小
@Slf4j
@Service
@RocketMQMessageListener(consumerGroup = "consumer_rocketmq", topic ="GOODS_CAHNGE",messageModel= CLUSTERING,consumeThreadMax = 1)
public class GoodsListener implements RocketMQListener<String>{
@Override
public void onMessage(String body) {
log.info("监听MQ消费 body {}",body)
}
}
以上代码设置consumeThreadMax = 1 开启一个线程
打印日志如下,只有一个线程
使用默认线程池数量
@Slf4j
@Service
@RocketMQMessageListener(consumerGroup = "consumer_rocketmq", topic ="GOODS_CAHNGE",messageModel= CLUSTERING)
public class GoodsListener implements RocketMQListener<String>{
@Override
public void onMessage(String body) {
log.info("监听MQ消费 body {}",body)
}
}
打印日志如下,默认最少开启了20个线程