AmqpTemplate - это интерфейс, а RabbitTemplate - это реализация, и я предполагаю, что под «поточно-ориентированным» вы подразумеваете, что его методы send / receive / sendAndReceive могут использоваться одновременно. Если так, то ДА. Единственное состояние, которое он поддерживает в переменных экземпляра, - это стратегии «конвертера» для Message и MessageProperties, а также настройки Exchange, Queue и Routing Key по умолчанию (которые даже не используются, если вы вызываете методы, которые принимают их в качестве аргументов вместо этого), и все они, как правило, настраиваются один раз изначально (например, с помощью внедрения зависимости). Шаблон не поддерживает нелокальное состояние для какой-либо конкретной операции во время выполнения. С AMQP «Канал» является экземпляром, который может использоваться только одним потоком за раз, и RabbitTemplate управляет этим внутренне так, что каждая операция извлекает канал для использования в рамках этой операции. Поэтому несколько одновременных операций приводят к использованию нескольких экземпляров Channel, но это не то, о чем вам следует беспокоиться как конечному пользователю шаблона.
Надеюсь, это поможет.
-Марк