【发布时间】:2014-09-06 06:52:59
【问题描述】:
我来自 EJB 背景,从事用于异步消息处理的 MDB。最近我被转移到一个使用 Spring 消息传递的项目。作为 Spring JMS 侦听器的新手,在将并发语义与 MDB 进行比较时,我有点困惑。
MDB - 据我了解,我们不需要担心线程安全,它维护一个 MDB bean 池(池大小是我们可以配置的)。每当有新消息到达目的地(队列)时。 EJB Container 从池中挑选一个实例并处理消息。
Spring - 我不确定我是否完全理解它。我们在容器内定义了一个监听器类。我不知道它是否会使用侦听器类的新实例处理每个传入的消息,还是会创建一个新线程(就像我们在 servlet 中一样)?另一个让我感到困惑的是可配置参数 concurrentConsumers ,它类似于我们在 EJB 容器中的 bean 池吗?
【问题讨论】:
标签: spring thread-safety ejb-3.0 messaging spring-jms