1. 消息者异步转发功能
针对正常情况下,在一个fast consumer的时候,为了避免同步和队列的切换采用设置:dispatchAsync=true(默认)。在slow consumer的时候,可能服务端就可能阻塞了。为了提高吞吐量和改变slow consumer消息的现状,可能需要设置为false;
A.ConnectionFactory级别配置:
((ActiveMQConnectionFactory)connectionFactory).setDispatchAsync(false);
B.Connection级别设置:
((ActiveMQConnection)connection).setDispatchAsync(false);
C.消息者级别设置:
queue = new ActiveMQQueue("TEST.QUEUE?consumer.dispatchAsync=false");
consumer = session.createConsumer(queue);
以上几种方法的设置是通过重写覆盖ConnectionFactory和Connection中的方法。