【问题标题】:DMLC and concurrent consumers workingDMLC 和并发消费者工作
【发布时间】:2015-04-02 13:06:51
【问题描述】:

DMLC 是否为每个并发使用者创建单独的线程?引擎盖下会发生什么?文档是这样写的:

实际的 MessageListener 执行发生在通过 Spring 的 TaskExecutor 抽象创建的异步工作单元中。默认情况下,将根据“concurrentConsumers”设置在启动时创建指定数量的调用者任务。

我无法理解这一点,这些任务是并行执行的吗?如果是,默认限制是多少,例如线程数等?

谢谢!

【问题讨论】:

    标签: activemq messaging spring-jms


    【解决方案1】:

    是的,每个消费者使用一个单独的线程(从任务执行器获得)。默认情况下,使用SimpleAsyncTaskExecutor,当消费者停止时线程被销毁。除了容器的并发设置之外,没有线程限制。

    如果您注入不同类型的任务执行器(例如ThreadPoolTaskExecutor),您必须确保它有足够的可用线程来支持您的容器的并发设置。容器线程通常是长期存在的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-11
      • 2016-02-11
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多