Конфигурация Spring Cloud Stream с файлом XML вместо аннотаций

Я использую Spring Cloud Stream.

Мне не нравится подход, когда интерфейсы аннотируются с помощью @Input или @Ouput, а затем используются @EnableBindings этого интерфейса, потому что в моем коде много конфигурационного материала.

Есть ли способ настроить это с помощью конфигурации XML?

Спасибо!

0
0
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

"потому что в моем коде разбросано много всего, что связано с конфигурацией" на самом деле не вопрос XML или аннотации. Если вы не будете осторожны с их дизайном, неважно, какой подход вы выберете, у вас будет беспорядок. Так что в основном это не веская причина и / или беспокойство, а скорее личное предпочтение.

Есть способ использовать XML в приложении Spring-Cloud-Stream; В конце концов, реальное приложение на самом деле является приложением Spring Integration (SI), которое получает и / или отправляет из / в каналы сообщений. Однако в отношении @EnableBindings, @Input or @Ouput необходимо понимать их основную цель (цели), а именно:

  • для создания и привязки каналов SI к ресурсам (очереди, теме), предоставляемым связующими
  • чтобы помочь с предоставлением таких ресурсов (очередь, тема)

    и т.д. . .

Конечно, вы можете позаботиться об этом самостоятельно, вернувшись к чистому SI и используя входящие / исходящие адаптеры, фабрики соединений и сеансов, шаблоны повторных попыток и т. д., Но это не будет представлять собой приложение Spring-Cloud-Stream.

Кроме того, не забывайте о Spring Boot, где многие вещи создаются на основе соглашения / мнения, где вам вообще ничего не нужно делать (кроме как иметь автоконфигурацию JAR в вашем пути к классам) и spring-cloud -stream действительно основывается на этих концепциях, требуя только предоставить один элемент конфигурации из коробки - @EnableBindings, а мы позаботимся обо всем остальном.

Так что на самом деле вопрос действительно в загружать или не загружать, а не в XML и аннотации.

При этом мы постоянно изучаем варианты, позволяющие упростить конфигурацию, поэтому, если у вас есть предложения, поделитесь ими.

Другие вопросы по теме