1. 程式人生 > >MQ的預取機制

MQ的預取機制

1.設定方式

 1)通過URL 

ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,
                    ActiveMQConnection.DEFAULT_PASSWORD,
                    "failover:(tcp://" + ip + ":" + port + ")?jms.prefetchPolicy.queuePrefetch=0");
            
 

2)通過ActiveMQConnectionFactory的API

        //// 設定prefetch 值(多個消費者有用)
             ActiveMQPrefetchPolicy p = new ActiveMQPrefetchPolicy();
             p.setQueuePrefetch(1);
            
             connectionFactory.setPrefetchPolicy(p);
             

3)通過ActiveMQQueue

           ActiveMQQueue queue = new ActiveMQQueue("TEST.QUEUE?consumer.prefetchSize=10");
            Destination destination = session.createQueue("test");

2.引數設定

3.連結

 4.注意點

    如果沒有設定,預設1000,對於慢速消費者,會每次recieve的時候增加記憶體,可能會把記憶體撐爆。