AMAD's Tech blog

cannot invoke because is null

by AMAD

에러와 오류에 지친 여러분께 심심한 위로의 뜻을 전합니다. 

아울러 해당 포스팅은 개발 실력 향상을 위한 학습형 포스팅과는 성격이 다르다는 점 밝힙니다. 원인과 결과, 해당 오류의 해결을 위한 짤막한 글로 구성되어 있다는 것을 알려드리며, 모쪼록 이 페이지가 여러분의 마지막 검색이 되길 기원합니다.

 

 

에러 문구

요약: 다수의 스레드를 실행 (스케줄러에 따라 각각의 스레드가 서로 다른 시간에 실행되는 앱)

 

 

앱 실행 당시 소스 코드

요약: 각 객체를 new로 생성하여 스레드에 전달

 

 

스레드 실행 후 value에 값을 담아 로그를 찍어본 결과 변수에 값이 잘 담긴 것을 확인 할 수 있다. 

 

 

각각의 스레드에 @Service 어노테이션 역시 붙여주었다.

 

 

But, 앱 실행시 에러!

 

 

에러 해결 위한 소스코드 변경

요약: new 연산자 사용하여 객체를 생성하지 않고 @Autowired 로 객체 주입후 주입받은 참조변수를 스레드에 전달

 

 

결과

에러 없이 스프링 실행 성공!

 

블로그의 정보

성장 하고 싶은 개발자

AMAD

활동하기