apache / apache/rocketmq-spring
The 'consumeThreadMax' in annotation @RocketMQMessageListener 到底有什么用
- Dominant language
- Java
- Stars
- 2.3k
- Forks
- 943
- PR merge metrics
- No merged PRs in 30d
Description
rocketmq RocketMQMessageListener 注解中有 consumeThreadMax, consumeThreadNumber 参数,在我之前使用的 sdk 4.9.3 中,consumeThreadMax 被标记成过期,可以参看源码,可以看到 consumeThreadMax 属性是不会生效的。而最近在升级 sdk 到 5.1.0 时,发现过期标记被去除了,而且 consumeThreadMax 和 consumeThreadMin 会被正确设置。而在 ConsumeMessageConcurrentlyService 类中,consumeRequestQueue 的定义却又是使用无界队列,这我就很困惑了,这个参数到底有没有用? ConsumeMessageConcurrentlyService 类里有如下声明:
```java
this.consumeExecutor = new ThreadPoolExecutor(this.defaultMQPushConsumer.getConsumeThreadMin(), this.defaultMQPushConsumer.getConsumeThreadMax(), 60000L, TimeUnit.MILLISECONDS, this.consumeRequestQueue, new ThreadFactoryImpl("ConsumeMessageThread_"));
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.