Spring整合Activemq中的DefaultMessageListenerContainer

当我们Spring整合ActiveMQ后。消费端会注册消息监听消息。这时候一般会使用DefaultMessageListenerContainer(父类:AbstractPollingMessageListenerContainer)类来监听。

这个类的主要做用就是用来管理监听消息的容器类。简单来说就是:创建线程并执行,执行的内容就是轮训调用ActiveMQ的receive方法来查看是否有消息。如果获取到新消息、先去判断当前线程数是否超过了指定的最大线程(maxConcurrentConsumers),如果没超过则创建一个新的线程继续去轮训获取消息。然后调用我们自定义的监听器onMessage方法(在spring注册的。实现MessageListener)。

详细内容请查阅源码。列几个类

DefaultMessageListenerContainer

上面类的内部内:AsyncMessageListenerInvoker

AbstractPollingMessageListenerContainer

ActiveMQMessageConsumer

你可能感兴趣的:(ActiveMQ)