wutiarn
@wutiarn

Spring-rabbit: как вынести декларацию @Exchange из @RabbitListener при сохранении биндингов аннотациями?

Доброй ночи. В spring-amqp 1.5.0M1 появилась интересная фишка с созданием биндингов через аннотации. И все бы хорошо, да вот как-то мне сильно не нравится, что декларация exchange повторяется для каждого listener'а. Как бы не пришлось в дальнейшем его (exchange) модифицировать (геморрой будет знатный).

В связи с этим вопрос: можно ли вынести декларацию exchange куда-нибудь в одно место, а queue_name и routing_key оставить в декларации listener'а? Понятное дело, что просто так модифицировать RabbitListener не получится, это вам не питон, но все же. Подозреваю, что рыть надо в сторону RabbitAdmin, но что-то не сильно ясно как именно рыть.

А вообще задача такая (на случай если я пытаюсь изобрести велосипед):
Есть приложение, которое разбито на несколько модулей и общается посредством RabbitMQ. Есть нечто вроде пользовательского интерфейса (бот для телеграма, ага), который должен получать события от модулей и отправлять им команды. Хотелось бы, чтобы со стороны бота все реализовывалось при помощи плагинов, которые можно свободно добавлять/вытаскивать из проекта без необходимости править xml/основной конфиг.

По сути, переписываю уже готовое решение (написанное мной же) на питоне. Чисто из цели пощупать java/spring в реальной жизни. В питоне все элегантно решилось декораторами, но java это вам не python...
  • Вопрос задан
  • 246 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект