Сканирование пакета @EnableFeignClients - весенняя загрузка - PullRequest
0 голосов
/ 05 апреля 2019

Я аннотировал приложение весенней загрузки с клиентом Feign

@SpringBootApplication
@EnableFeignClients({"com.ms.Foo1.api", "com.ms.Foo2.api",
"com.ms.Foo3.api", "com.ms.Foo4.api", "com.ms.Foo5.api", "com.ms.Foo6.api",
"com.ms.Foo7.api", "com.ms.Foo8.api", "com.ms.Foo9.api", "com.ms.Foo10.api"})
public class AnalyticsApplication extends SpringBootServletInitializer {
}

все работает нормально, КАК я просто изменяю базовые пакеты.его запуск сканирования пакета за пределами API.

@SpringBootApplication
@EnableFeignClients({"com.ms.*.api"})
public class AnalyticsApplication extends SpringBootServletInitializer {
}

Я ожидаю, что @EnableFeignClients({"com.ms.*.api"}) будет сканировать только клиенты внутри API, но он также начнет сканирование вне пакета API.

что янужно изменить ?или мы можем применить здесь регулярное выражение вместо упоминания каждого пакета?

1 Ответ

0 голосов
/ 10 апреля 2019

Вы можете использовать фильтр регулярных выражений в @ComponentScan следующим образом:

@ComponentScan(basePackages = "com.ms",
     includeFilters = @Filter(type = FilterType.REGEX, pattern="com.ms.*.api"))
public class AnalyticsApplication extends SpringBootServletInitializer {
}

Но у @EnableFeignClients этой функции нет.Единственное, что вы можете сделать, это:

@EnableFeignClients(basePackages = "com.ms")
public class AnalyticsApplication extends SpringBootServletInitializer {
}
...