【问题标题】:producerWindowSize doesn't work for AMQ 7.1producerWindowSize 不适用于 AMQ 7.1
【发布时间】:2018-03-07 23:58:14
【问题描述】:

我正在使用 Red Hat JBoss AMQ 7.1.0.GA 并使用 producerWindowSize 测试流控制,我使用了 amq71Install\examples\features\standard\queue 下的示例,这里是示例 jndi.proerties:

# Neither of the following parameter works
#connectionFactory.ConnectionFactory=tcp://192.168.56.11:61616?producerWindowSize=1024
java.naming.provider.url=tcp://192.168.56.11:61616?producerWindowSize=1024

我发送了 10 条总大小小于 1024 的消息,但仍然可以看到它们到达代理,是我遗漏了什么还是我误解了这个参数?

最好的问候

【问题讨论】:

    标签: jboss-amq


    【解决方案1】:

    是的,我相信你误解了这个参数。

    “producerWindowSize”是客户端将向代理请求的积分数。每个信用对应一个字节的数据。当客户端收到这些信用时,它将能够发送该数量的字节。在您的情况下,客户端从它收到的代理请求 1024 个信用,因此它能够在请求更多信用之前发送 1024 个字节。

    由于您要发送 10 条总大小小于 1024 的消息,因此您应该期望它们能够毫无问题地到达代理。

    【讨论】:

    • 谢谢,明白了。但是从broker配置更合适吗?我没有在 schema/*.xsd 文件中找到任何相关内容。
    • 代理不知道特定客户端的 producerWindowSize 应该是什么。这是由客户决定的。但是,经纪人仍然控制信用流,因此即使客户请求一定数量的信用,经纪人也不必授予它们。例如,这基于生产者发送消息的地址的最大字节数。如果地址超过了配置的 max-size-bytes 并且 address-full-policy 为 BLOCK 则代理将不再授予生产者任何信用。
    猜你喜欢
    • 2014-07-18
    • 2016-01-21
    • 2014-04-14
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    相关资源
    最近更新 更多