2016-04-12 2 views
0

Я пытаюсь динамически разрешать;Временное разрешение пунктов назначения в Spring и JMS

@JmsListener(destinations = "${some.key}") 

Теперь я знаю, что мы можем разрешить это с использованием свойств, используя свойство PropertySourcesPlaceholderConfigurer.

Я нашел следующий билет весны, https://jira.spring.io/browse/SPR-12289. Это дает мне некоторые указания, что это можно сделать без использования файлов свойств с помощью DestinationResolver. Я надеюсь, что это резольвер, который не основан на свойствах, но я не уверен на 100%. Мог ли кто-нибудь дать мне пример этого без использования весны xml.

+0

DestinationResolver не решает свойства в пружинных конфигурационных файлах. Он решает логическое имя назначения JMS для физического адресата. Например, если задано имя очереди jms.queue.order, оно может быть разрешено либо динамической очередью, либо очередью, полученной из JNDI с использованием имени. DestinationResolver работает аналогично ViewResolver в Spring MVC –

ответ

0

the documentation Смотрите, который показывает, как настроить распознаватель пользовательского назначения в слушателе контейнер заводе, который генерирует слушатель для аннотирования:

@Bean 
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() { 
    DefaultJmsListenerContainerFactory factory = 
      new DefaultJmsListenerContainerFactory(); 
    factory.setConnectionFactory(connectionFactory()); 
    factory.setDestinationResolver(destinationResolver()); 
    factory.setConcurrency("3-10"); 
    return factory; 
} 
Смежные вопросы