最佳化確認
概述
ActiveMQ Classic 支援在單一批次操作中確認一系列訊息。此選項預設為停用,但在某些情況下,由於它減少了代理程式的負載,因此可用於提高吞吐量。考慮為您的效能測試情境啟用它,以查看它是否適用。
使用連線 URI 啟用最佳化確認
cf = new ActiveMQConnectionFactory("tcp://locahost:61616?jms.optimizeAcknowledge=true");
在 ConnectionFactory 層級啟用最佳化確認
((ActiveMQConnectionFactory)connectionFactory).setOptimizeAcknowledge(true);
在連線層級啟用最佳化確認
((ActiveMQConnection)connection).setOptimizeAcknowledge(true);
setOptimizeAcknowledgeTimeOut (5.6)
自 5.4.2 版起,批次最佳化確認有一個預設的逾時時間,即使消費者速度較慢,也能確保及時確認。在較慢的網路上,逾時時間可能在達到批次限制之前就到期,因此會繞過減少的頻寬利用率。在 5.6 版中,逾時時間可透過 optimizeAcknowledgeTimeOut 屬性進行設定。如上所述,透過連線 URI 或在工廠和連線層級設定。預設值為 300 毫秒,值為 0 則停用。