10.2. 制作者流控制


与消费者基于窗口的流控制类似,AMQ Broker 可以限制从制作者发送到代理的数据量,以防止代理占用太多数据。在制作者时,窗口大小决定随时可处于飞机中的字节数。

10.2.1. 设置 Producer 窗口大小

窗口大小以学分为基础在代理与制作者之间协商,窗口中的每字节一个学分。由于消息被发送并且使用信贷,生产者必须请求,并且获得代理的信贷,然后才能发送更多消息。制作者和代理间的信用交换规定了它们之间的数据流。

设置窗口大小

以下示例演示了如何在使用 Core JMS 客户端时将制作者窗口大小设置为 1024 字节。

步骤

  • 设置制作者窗口大小。

    • 如果核心 JMS 客户端使用 JNDI 来实例化其连接工厂,请将 producerWindowSize 参数包含为连接字符串 URL 的一部分。将 URL 存储在 JNDI 上下文环境中。以下示例使用 jndi.properties 文件来存储 URL。

      java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory
      java.naming.provider.url=tcp://localhost:61616?producerWindowSize=1024
    • 如果核心 JMS 客户端不使用 JNDI 来实例化其连接工厂,请将值传递到 ActiveMQConnectionFactory.setProducerWindowSize()

      ConnectionFactory cf =  ActiveMQJMSClient.createConnectionFactory(...)
      cf.setProducerWindowSize(1024);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.