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