是producer允许积压的消息的大小。如需了解ProducerWindowSize概念,请移步:ActiveMQ消息发送策略
在消费端通过设置 prefetchSize 就可以设置窗口的大小。
批量加载--prefetchSize
prefetchSize的设置方法
Destination destination = session.createQueue("myQueue?consumer.prefetchSize=88"); 既然有批量加载,那么一定有批量确认,这样才算是彻底的优化。
批量确认--optimizeAcknowledge
是否开启优化ACKtrue
optimizeAcknowledge的设置方法
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.204.201:61616 ?jms.optimizeAcknowledge=true&jms.optimizeAcknowledgeTimeout=10000"); :如果 optimizeAcknowledge 为 true ,那么 prefetchSize 必须大于 0 。当 prefetchSize = 0 的时候,表示 consumer 通过 pull 方式从broker获取消息
总结:
减少了客户端在获取消息时的阻塞次数,还能减少每次获取消息时的网络通信开销。
重复 消息。
END
来源:51CTO
作者:扛麻袋的少年
链接:https://blog.csdn.net/lzb348110175/article/details/100151852