上一节提到消费者的receive()方法可以传递一个long类型的参数,代表等待超时时间,可以修改JmsConsumer方法里的receive()方法,传递一个毫秒数,再次尝试,查看效果。
与之前不同的是,这次程序消费完消息后,等待了若干时间后,自动就停止了,查看ActiveMQ的前台界面里,消费者数量自然变成了0。
点进MessageConsumer里可以看到,还有一个receiveNoWait()方法,从字面意思可以看出,NoWait(),也就是不等待,如果取不到消息,直接返回null。