2017-03-13 4 views
0

예약 된 작업으로 서비스 중이며 데이터베이스에서 개체를 가져 오려고합니다. EAGER 연관이 있으므로 find 메소드는 완전히 가져와야합니다.예약 된 작업의 저장소로 OneToMany가 검색되지 않음

@Service 
public class CustomTask { 

    @Autowired 
    CustomRepository customRepository; 

    @Scheduled(fixedRate = 1000) 
    public void action() { 
     customRepository.find(1); 
    } 
} 

하지만 여기서는 작동하지 않습니다. 협회는 null입니다.

스프링 부트 컨트롤러 안에 있지만 저장소 방법은 완벽하게 작동합니다.

내 전체 개체를이 예약 된 서비스 방법에서 가져올 수 있다는 것을 알고 계십니까?

답변

0

예약 된 작업은 환경이 완전히 초기화되지 않은 순간에 앱 시작 부분에서 호출됩니다. 작업에 대한 초기 지연으로

, 내 전체 개체에 액세스 할 수 있습니다

@Scheduled(initialDelay=10000, fixedRate = 1000) 

NB를 : 그것은 더 수정보다 해결 방법입니다.

관련 문제