10.2.4. 设置发送消息率
AMQ Broker 也可以限制制作者可以发出消息的速度。制作者率以每秒消息单位指定。将它设置为 -1(默认值)禁用速率限制流控制。
设置发送消息率
以下示例演示了如何在制作者使用核心 JMS 客户端时设置发送消息的速度。每个示例将消息每秒发送到 10
的最大值。
步骤
设置制作者可以发送消息的速率。
如果核心 JMS 客户端使用 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
如果核心 JMS 客户端不使用 JNDI 来实例化其连接工厂,请将值传递到
ActiveMQConnectionFactory.setProducerMaxRate()
。ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory(...) cf.setProducerMaxRate(10);
相关信息
如需了解如何限制发送消息的频率,请参阅 INSTALL_DIR/examples/standard
中的 制作者-rate-limit
示例。