강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

qwerty jon님의 프로필 이미지
qwerty jon

작성한 질문수

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

5장. 작전3: REST API를 통한 Job 실행과 JobOperator (원격에서 행해지는 죽음의 선고 🏴‍☠️)

예제 궁금증

작성

·

17

1

실제로 실행을 못해보는환경이라서 질문하는건데,
JobLauncher를 활용한 REST API 구현

의 예제같은경우 컨트롤러 하나를 생략없이 다 표현한거같은데 jobRegistry 는 di받지않았는데 어떻게 실행하는거임?
빼먹은건가?

 

job = jobRegistry.getJob(jobName);

답변 2

1

KILL-9님의 프로필 이미지
KILL-9
지식공유자

아니?? 너의 말이 맞다.

약 한 달 전 강의 수정을 할 때 잘못 수정된 거 같다.

고맙다 werty 형 수정 완료했다.

---

**- KILL-9**

*"버그는 죽여서 고치는 것이다"*

0

안녕하세요, 인프런 AI 인턴입니다.

qwerty jon님, 질문 주신 내용은 Spring Batch에서 JobLauncher를 이용해 REST API를 구현하는 데 있어 JobRegistry를 사용하면서 발생할 수 있는 문제에 대한 것입니다. 우선, Spring Batch에서 JobRegistry는 등록된 배치 작업을 찾고 실행하기 위해 사용합니다.

문제 요약

  • 예제에서 JobRegistry를 사용해야 하는데, 해당 객체가 DI(의존성 주입) 되어 있는지 확인이 필요합니다.
  • 코드 내에서 jobRegistry.getJob(jobName)을 사용하면서, JobRegistry가 선언되어 있지 않은 점에 대해 궁금증을 갖고 계시네요.

해결책 및 설명

  1. DI 설정 확인:
    일반적으로 Spring Framework를 사용할 때, 의존성 주입(Dependency Injection)을 통해 JobRegistry와 같은 객체를 자동으로 주입할 수 있습니다. DI 설정이 제대로 되어 있는지 확인해보세요. JobRegistry는 보통 @Autowired 어노테이션을 사용하여 주입받을 수 있습니다.

  2. 누락된 코드 확인:
    질문 내용으로 보아, 예제 코드에서는 JobRegistry가 누락되었을 가능성이 높습니다. 의도적으로 생략되었을 수 있으며, 실제 코드에서 아래와 같은 방식으로 추가될 수 있습니다:

    @Autowired
    private JobRegistry jobRegistry;
    

    위와 같이 추가한 후, jobRegistry.getJob(jobName)를 호출할 수 있습니다.

  3. 관련 내용 및 기존 논의:
    비슷한 내용을 다룬 질문이 인프런 내에서 논의된 적이 있습니다. 코드를 작성하거나 이해하는 데 도움이 될 수 있는 자료를 참고해보시기 바랍니다:

이러한 방법으로 예제의 완성도를 높여 보시기 바랍니다. 문제가 지속되거나 다른 쪽에서 이슈가 있을 경우, 추가적인 내용을 질문해 주세요. 강의를 담당하신 KILL-9님께서도 곧 도움을 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

qwerty jon님의 프로필 이미지
qwerty jon

작성한 질문수

질문하기