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...
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы