IAm*_*aja 6 java configuration activemq-classic activemq-cpp
根据ActiveMQ 站点上的此配置页面,该connection.sendTimeout属性为:
等待Message Sends for a Response 的时间,默认值零表示永远等待。如果它是一个快速的生产者或者没有消费者,那么永远等待允许代理对来自这个客户端的消息进行流量控制,这样如果代理没有减慢生产者的速度,代理就会耗尽内存。不影响 Stomp 客户端,因为代理已确认发送。(自 ActiveMQ-CPP 2.2.1 起)
我很难解释这意味着什么(以及sendTimeout财产的真正含义/它的作用):
提前致谢!
超时会影响客户端向 Broker 发送消息。在发送不是异步的情况下,客户端等待 Broker 返回一个响应,指示消息已被接收并添加到消息存储中。在某些情况下,如果 Broker 由于达到其预设内存限制之一而使用生产者流量控制,则这可能会阻塞很长时间。如果客户端应用程序不能容忍长时间等待发送,它可以配置此超时,以便 MessageProducer::send 不会无限期地阻塞。
消息以同步模式发送,要么是因为连接配置为 alwaysSyncSend=true,要么是因为 MessageProducer 以设置为 Persistent 的传递模式发送。
通常,如果您已使用与您的用例匹配的限制配置您的 Broker,则不需要使用此设置。