2015-04-24 4 views
2

Теперь я могу сделать так:Извлечение заголовков из сообщения с помощью пружинного кролика без объявления очередей в аннотации

@RabbitListener(queues = {ENTITY_KEY + "-snapshots", ENTITY_KEY + "-updates"}) 
public void handleMessage(ProviderOddsOffer offer, @Header("update_type") Long updateType) { 
    ... 
} 

Могу ли я сделать это без объявления очередей в самой аннотации?

+0

Непонятно, что вы имеете в виду; слушатель должен быть настроен на потребление из некоторой очереди. –

+1

, но эта очередь не может быть определена статически, как в этом случае, я хочу иметь возможность привязывать этого пользователя к любой очереди, которую я хочу, не используя аннотацию, потому что аннотация означает, что я знаю имя очереди во время компиляции и Я, может быть, не знаю. –

+0

Вы можете использовать свойство placeholder '$ {...}' или выражение SpEL '# {...}' для имени (ов) очереди; они будут разрешены во время инициализации бина. –

ответ

3

Непонятно, что вы имеете в виду; слушатель должен быть настроен на потребление из некоторой очереди или очередей.

Если вы хотите, чтобы вы нарушили внешний вид имени (ов) очереди, а не жесткого кодирования в java, вы можете использовать свойство placeholder $ {...} или выражение SpEL # {...} для имена (имена) очереди; они будут разрешены во время инициализации бина.