2017-12-28 27 views
0

이 오류를 정확하게 재생하는 spring-boot-troubleshooting repo on GitHub을 만들었습니다.응용 프로그램 시작시 Spring Boot ApplicationListener가 실행되지 않음

나는 봄 부팅 기반 REST 서비스를 구축하고 어려움 작업 할 startup listener을 얻는 데 :

@Slf4j 
class StartupListener implements ApplicationListener<ContextRefreshedEvent> { 
    @Autowired 
    ScheduledReporter metricReporter 

    @Override 
    void onApplicationEvent(ContextRefreshedEvent event) { 
     log.info('StartupListener is starting...') 
     metricReporter.start(1, TimeUnit.SECONDS) 
    } 
} 

내가 응용 프로그램을 실행하면 :

./gradlew build && java -Dspring.config=. -jar build/libs/spring-boot-troubleshooting.jar 

모든 오류없이 시작을/예외가 있지만 "StartupListener가 시작되고 있습니다 ..."로그 메시지가 콘솔에 인쇄되지 않습니다. 이것은 봄이 이 아니고 StartupListener이 아닌입니다. 수정 사항은 무엇입니까?

답변

1

이 클래스는 스프링 빈이 아닙니다 (repo에서도 파일을 조사했습니다). 그래서 스프링은 이것을 전혀 스캔하지 않았습니다. 그러므로 이것은 결코 호출되지 않습니다.
이 클래스에 @Component을 추가하십시오.