Мой контейнер XML config:
<rabbit:listener-container
connection-factory="myConnectionFactory"
acknowledge="none"
concurrency="10"
requeue-rejected="false">
<rabbit:listener ref="myListener" queues="myQueue"/>
</rabbit:listener-container>
и myListener
- это просто класс
@Component("myListener")
public class MyListener implements MessageListener {
@Autowired
SomeDependency dependency;
....
}
Я указал concurrency="10"
в своем XML. Что это означает точно?
Я нашел несколько документов. Они не так полезны:
Укажите количество одновременных пользователей для создания. Значение по умолчанию: 1.
Меня интересует, должен ли myListener
быть потокобезопасным i.e.
- Есть ли много экземпляров, созданных или один экземпляр, используемый многими потоками?
- Можно ли получить доступ к полям экземпляра без синхронизации?
- является
SomeDependency dependency
экземпляром один раз или для каждого потока/экземпляра? -
dependency
должен быть потокобезопасным?