Spring

JSON 작업에 대해 ItemProcessor를 동적으로 지정하려면 어떻게해야합니까?

기록만이살길 2021. 3. 24. 08:03
반응형

JSON 작업에 대해 ItemProcessor를 동적으로 지정하려면 어떻게해야합니까?

1. 질문(문제점):

다른 JSON 파일이 있으며 JSON 배열의 포함 된 JSON 개체를 읽고 처리하고 작성해야합니다.

출력 형식 (보다 구체적 : 출력 클래스)은 모든 파일에 대해 동일합니다. 그것을 부르 자 OutputClass. 따라서 항목 프로세서는 ItemProcessor<X, OutPutClass>. X특정 JSON 파일의 클래스는 어디에 있습니까 ?

파일 간의 차이점은 다음과 같습니다.

  • JSON 배열 / 정보는 모든 JSON 파일에서 다른 위치에 있습니다.
  • JSON 배열의 JSON 객체 구조가 다릅니다 (파일의 객체가 file의 a구문과 다른 구문을 가짐 b)

나는 이미 @StepScopeJSON 구조의 다른 위치에서 읽기를 시작하는 리더 (작업 매개 변수에 따라)를 동적으로 생성 할 수있었습니다.

그러나 작업 매개 변수에 따라 ItemProcessor를 동적으로 선택하는 방법을 모릅니다. 다양한 JSON 파일이 있고 각 파일에 대해 작성할 코드의 양을 줄이고 싶기 때문입니다.

2. 해결방안:

step-scoped bean을 사용하여 작업 매개 변수를 기반으로 동적 항목 판독기를 만들 수 있었으므로 (이것도 제가하는 방식입니다) 동일한 접근 방식을 사용하여 동적 항목 프로세서를 만들 수도 있습니다.

65603449
반응형