相关疑难解决方法(0)

如何实现Spring AMQP Listener Container中的并发性?

我的容器XML配置:

<rabbit:listener-container
        connection-factory="myConnectionFactory"
        acknowledge="none"
        concurrency="10"
        requeue-rejected="false">
    <rabbit:listener ref="myListener" queues="myQueue"/>
</rabbit:listener-container>
Run Code Online (Sandbox Code Playgroud)

而且myListener只是一堂课

@Component("myListener")
public class MyListener implements MessageListener {
    @Autowired
    SomeDependency dependency;
    ....
}
Run Code Online (Sandbox Code Playgroud)

concurrency="10"在我的XML中指定了.这是什么意思完全相同


我找到了一些文档.他们没有那么有用的陈述:

指定要创建的并发使用者数.默认值为1.


我感兴趣的是是否MyListener必须是线程安全的,即

  • 有很多实例创建或许多线程使用单个实例?
  • 我可以访问没有同步的实例字段吗?
  • SomeDependency dependency 一次或为每个线程/实例实例化?
  • 确实dependency需要线程安全吗?

java spring amqp rabbitmq spring-amqp

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

amqp ×1

java ×1

rabbitmq ×1

spring ×1

spring-amqp ×1