8.6. 设置消息生产速率
AMQ 核心协议 JMS 还可以限制制作者发送消息的速度。制作者率以每秒消息单位为单位指定。将它设置为 -1(默认值)可禁用速率限制流控制。
以下示例演示了在制作者使用 AMQ Core Protocol JMS 时如何设置发送消息的速率。每个示例将最大速率设置为每秒 10 条消息。
流程
如果客户端使用 JNDI 来实例化其连接工厂,在连接字符串 URL 中包括
producerMaxRate参数。将 URL 存储在 JNDI 上下文环境中。以下示例使用jndi.properties文件存储 URL。java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory java.naming.provider.url=tcp://localhost:61616?producerMaxRate=10
java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory java.naming.provider.url=tcp://localhost:61616?producerMaxRate=10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果客户端不使用 JNDI 来实例化其连接工厂,请将值传递给
ActiveMQConnectionFactory.setProducerMaxRate()。ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory(...) cf.setProducerMaxRate(10);
ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory(...) cf.setProducerMaxRate(10);Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
有关如何限制发送信息速率的工作示例,请查看 <install-dir>/examples/standard 中的 producer-rate-limit 示例。