복붙노트

[SPRING] 스프링 배치 "기본"컨텍스트 변수는 무엇입니까?

SPRING

스프링 배치 "기본"컨텍스트 변수는 무엇입니까?

Spring Batch 단계 범위 문서에는 설명 할 수없는 스프링 배치 컨텍스트 맵 세 개가 있습니다 : jobParameters, jobExecutionContext 및 stepExecutionContext.

스프링 소스 샘플 코드 결합 :

<bean id="flatFileItemReader" scope="step"
  class="org.springframework.batch.item.file.FlatFileItemReader">
    <property name="var1" value="#{jobParameters['input.file.name']}" />
    <property name="var2" value="#{jobExecutionContext['input.file.name']}" />
    <property name="var3" value="#{stepExecutionContext['input.file.name']}" />
</bean>

jobParameters, jobExecutionContext 및 stepExecutionContext에서 사용할 수있는 기본 매개 변수는 무엇입니까?

또한 Spring Batch 버전 1.x와 2.x 대 3.x 버전에서 사용 가능한 것의 차이점이 있습니다.이 영역에서는 설명서가 거의 없습니다.

해결법

  1. ==============================

    1.기본값이 없습니다. jobParameters, jobExecutionContext 및 stepExecutionContext를 다른 프리미티브 데이터 유형 (예. getInt (). 일반적으로 ExecutionListeners에 전달 된 StepExecution 및 JobExecution 객체에서 액세스하거나 값 주입을 사용하여 주입합니다. @Value ( "# {jobParameters [ 'foo']}").

    기본값이 없습니다. jobParameters, jobExecutionContext 및 stepExecutionContext를 다른 프리미티브 데이터 유형 (예. getInt (). 일반적으로 ExecutionListeners에 전달 된 StepExecution 및 JobExecution 객체에서 액세스하거나 값 주입을 사용하여 주입합니다. @Value ( "# {jobParameters [ 'foo']}").

    이 경우 input.file.name은 개발자가 선택한 이름입니다 (예 : commandLineJobRunner에 지정된 명령 행 작업 매개 변수에 해당 할 수 있습니다.

  2. ==============================

    2.# {jobParameters}, # {jobExecutionContext} 및 # {stepExecutionContext}는 단계 범위 개체에서이 개체 값에 대한 비 정적 액세스를 허용하기 위해 후기 바인딩에서 사용할 수있는 JobParameters, JobExecution 및 StepExecution 개체의 spEL (Spring Expression Language) 대응 항목입니다.

    # {jobParameters}, # {jobExecutionContext} 및 # {stepExecutionContext}는 단계 범위 개체에서이 개체 값에 대한 비 정적 액세스를 허용하기 위해 후기 바인딩에서 사용할 수있는 JobParameters, JobExecution 및 StepExecution 개체의 spEL (Spring Expression Language) 대응 항목입니다.

    이것들은 Maps로서의 액세스를 지원하므로, JobExecution 및 StepExecution에 관련한 ExecutionContext 및 JobParameters에 포함 된 값에 액세스 할 수 있습니다.

    또한 자세한 내용은 StepScope 문서를 확인하십시오.

  3. ==============================

    3.설명서보기

    설명서보기

    JobParameters는 작업을 시작할 때 전달되는 매개 변수입니다.

    실행 컨텍스트는 원하는대로 저장할 수 있습니다. 일] 적으로 단계 실행 컨텍스트에는 단계를 재시작 할 수있는 정보 (재시작 가능 작업)가 있습니다.

    단계 실행 컨텍스트의 요소는 단계간에 정보를 교환하려는 경우 작업 실행 컨텍스트로 승격 될 수 있습니다.

  4. from https://stackoverflow.com/questions/22205778/what-are-the-spring-batch-default-context-variables by cc-by-sa and MIT license