Загрузочное приложение Spring, при сканировании компонентов отсутствует @Component - PullRequest
0 голосов
/ 17 января 2020

Я новичок в весне, и сейчас я немного потерян. В этом приложении SpringBoot я получил 3 класса, все 3 наследуются от высшего абстрактного класса. Три класса аннотированы @Component и находятся в одном пакете.

AbstractClass
|
|-- @Component ClassA extends abstractClass
|-- @Component ClassB extends abstractClass
|-- @Component ClassC extends abstractClass

Каждый класс запускает несколько потоков, чтобы выполнить некоторую фоновую работу. Таким образом, в основном AbstractClass обрабатывает потоки, начиная с logi c, в то время как каждый класс будет иметь свой собственный ExecutorService и несколько потоков и будет реализовывать поведение исполняемого объекта, который будет передан в ExecutorService.

Вот моя конфигурация Spring:

@SpringBootApplication
@ComponentScan(basePackages = {"com.myapp.test"})
public class Application {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }
}

И все мои классы находятся в пакете com.myapp.test.listeners.

Самое смешное: ClassA запускается и работает отлично. ClassB и Class C не запускаются и даже не отображаются в журналах.

Я уже потерял 3 часа на это ... Если у кого-то из вас есть идея ... Спасибо!

1 Ответ

1 голос
/ 17 января 2020

Итак, я решил свою проблему, я не знаю точно, что стало причиной проблемы ... Но я знаю, что ее решает: один из моих классов пока не используется, поэтому я использовал Excutors.newFixedThreadPool(0) для его создания. Член ExecutorService ... который вызывает исключение (которое не отображалось в журналах). Странно, он сохранил другой компонент для сканирования и создания ... Но теперь он работает.

...