JobOperator

개요

JobOperator는 JobRegistry, JobExplorer, JobLauncher, JobRepository 클래스를 통해 Job의 InstanceId, ExecutionId, JobName을 이용하여 job을 제어하여 일반적인 모니터링 작업을 위해 사용한다.

설명

JobOperator는 배치운영자가 의해 이루어지는 배치작업의 stopping, restarting, 또는 summarizing와 같은 모니터링 작업을 제공한다. Spring 배치는 JobOperator 인터페이스를 통해 아래의 작업의 유형을 제공한다.

public interface JobOperator {
 
	List<Long> getExecutions(long instanceId) throws NoSuchJobInstanceException;
 
	List<Long> getJobInstances(String jobName, int start, int count) throws NoSuchJobException;
 
        Set<Long> getRunningExecutions(String jobName) throws NoSuchJobException;
 
	String getParameters(long executionId) throws NoSuchJobExecutionException;
 
	Long start(String jobName, String parameters) throws NoSuchJobException, JobInstanceAlreadyExistsException, JobParametersInvalidException;
 
	Long restart(long executionId) throws JobInstanceAlreadyCompleteException, NoSuchJobExecutionException,
			NoSuchJobException, JobRestartException, JobParametersInvalidException;
 
	Long startNextInstance(String jobName) throws NoSuchJobException, JobParametersNotFoundException,
			JobRestartException, JobExecutionAlreadyRunningException, JobInstanceAlreadyCompleteException, 
                       UnexpectedJobExecutionException, JobParametersInvalidException;
 
	boolean stop(long executionId) throws NoSuchJobExecutionException, JobExecutionNotRunningException;
 
	String getSummary(long executionId) throws NoSuchJobExecutionException;
 
	Map<Long, String> getStepExecutionSummaries(long executionId) throws NoSuchJobExecutionException;
 
	Set<String> getJobNames();
 
}

JobOperator 인터페이스의 구현클래스로는 SimpleJobOperator가 제공된다. JobLauncher,JobRepository, JobExplorer 및 JobRegistry를 사용하여 아래의 기능들을 제공한다.

메소드명 설 명 파라미터
getExecutionsinstanceId를 이용하여 JobExecutions의 id들을 얻는다.instanceId
getJobInstancesstart 인덱스부터 count만큼의 JobInstances의 id들을 얻는다.jobName,int start,int count
getRunningExecutionsjobName을 이용하여 실행중인 Job의 JobExecutions의 id을 얻는다. jobName
getParametersJob의 Execution id를 이용하여 Parameters를 얻는다. executionId
startJob 이름, Job Parameter를 이용하여 Job을 시작한다.jobName,parameters
restartJobExecution의 ID를 이용하여, 정지되었거나 이미 종료 된 Job 중 재실행 가능한 Job 을 재시작한다.executionId
startNextInstancejobName를 이용하여 다음 instance를 얻은 후 Job을 실행한다.jobName
stopJob의 Execution ID를 이용하여, 실행 중인 Job을 정지시킨다.executionId
getSummaryJob의 Execution ID를 이용하여, JobExecution의 정보를 String 형태로 얻는다.executionId
getStepExecutionSummariesJob의 Execution ID를 이용하여, Job에 해당하는 StepExecution들의 정보를 String으로 변환하여 MAP의 형태로 얻는다.executionId
getJobNames실행가능한 Job들의 이름을 얻는다.

SimpleJobOperator클래스를 이용한 JobOperator의 설정은 아래와 같다. jobLauncher, jobExplorer, jobRepository, jobRegistry의 설정이 필수이다.

<bean id="jobOperator" class="org.springframework.batch.core.launch.support.SimpleJobOperator"
		p:jobLauncher-ref="jobLauncher" p:jobExplorer-ref="jobExplorer"
		p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistry" />
  • JobLauncher: 배치 작업을 실행한다.
  • JobExplorer: Repository에 접근하여 배치작업에 대한 정보를 얻는다.
  • JobRepository: 수행되는 Job에 대한 정보를 담고 있는 저장소이다.
  • JobRegistry: 생성된 Job을 Map 형태로 추가, 삭제 등의 관리한다.

참고자료

 
egovframework/rte2/brte/batch_core/job_operator.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki