如何降低ActiveMQ KeepAlive消息的频率
我们为ActiveMQ配置了HTTP传输。然而,我们注意到有成千上万的保留消息。我知道KeepAlive消息用于控制不活动监视器如何检测和清除“死”连接:如何降低ActiveMQ KeepAlive消息的频率,activemq,Activemq,我们为ActiveMQ配置了HTTP传输。然而,我们注意到有成千上万的保留消息。我知道KeepAlive消息用于控制不活动监视器如何检测和清除“死”连接: 0 假的 从文档中可以看出,可以关闭不活动监视器,但我想知道的是,是否有一个设置可以“减少”线路上的聊天量,但不能完全消除。例如,我同意每秒发送一条消息,但我们将收到数千条消息。传输连接器有一个参数“wireFormat.maxInactivityDuration”,用于确定最大不活动持续时间。若要减少保留的频率,请增加此值。默认值为30
0
假的
从文档中可以看出,可以关闭不活动监视器,但我想知道的是,是否有一个设置可以“减少”线路上的聊天量,但不能完全消除。例如,我同意每秒发送一条消息,但我们将收到数千条消息。传输连接器有一个参数“wireFormat.maxInactivityDuration”,用于确定最大不活动持续时间。若要减少保留的频率,请增加此值。默认值为30000(30秒) 如果默认值为30秒,并且每秒有数千个keepalives,那么我希望您有成千上万个连接 以下是指定此参数的示例:
如果连接的另一端指定的持续时间比您的端短,则连接的两端将使用较短的持续时间。似乎没有“最小不活动持续时间”的设置,因此如果客户机选择非常短的持续时间,您将不得不接受该设置
<org.apache.activemq.command.KeepAliveInfo>
<commandId>0</commandId>
<responseRequired>false</responseRequired>
</org.apache.activemq.command.KeepAliveInfo>
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616?wireFormat.maxInactivityDuration=30000&wireFormat.maxInactivityDurationInitalDelay=10000"/>
</transportConnectors>