【发布时间】:2022-01-31 19:26:29
【问题描述】:
我正在使用 Spring JMS (DefaultMessageListenerContainer) 从 IBM MQ 读取消息,调用端点,并在成功时确认消息 (Client Ack)。我需要控制微服务调用端点的速率。
有没有办法控制消费者消费消息的速率?假设微服务每秒消耗 1 条消息(最大值)。
我尝试将并发配置为 1 和轮询间隔(1000 毫秒),但这并不能控制消息消耗的速率。也就是说,如果整个过程在 500 毫秒内完成,那么服务会立即接收另一条消息,而无需等待。
【问题讨论】:
-
你试过this吗?
-
@DanielSteinmann 我看过它,但仅限于一个并发。有没有办法实现多个并发并控制每个消费者接收消息的速率?我想知道这是由 JMSTemplate (DefaultMessageListener) 还是由 IBM MQ 库提供的开箱即用的
标签: java microservices ibm-mq spring-jms