Spring整合Activemq中的DefaultMessageListenerContainer

2023-05-16

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

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

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

DefaultMessageListenerContainer

上面类的内部内:AsyncMessageListenerInvoker

AbstractPollingMessageListenerContainer

ActiveMQMessageConsumer

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring整合Activemq中的DefaultMessageListenerContainer 的相关文章

随机推荐