@GhostCat의 답을 바탕으로 테스트에서 전체 작업 (총알 1)을 어떻게 운전할 것인지 묻는 것 같습니다. (물론 단위의 유용 개별적으로 리더/프로세서/라이터의 구성 요소를 할 수 있습니다 테스트.)
귀하의 기본 옵션
은 다음과 같습니다
사용 Arquillian이 (Arquillian와 자유를 시작하기에 링크 here 참조)를 사용하여 서버에서 테스트를 실행하고 Arquillian이 서버에 앱을 배포하고 결과를 수집하는 작업을 처리하도록 할 수 있습니다.
JobOperator 인터페이스를 통해 자신의 서블릿 하네스를 작성하십시오. 출발 지점은 @aguibert의 대답을 this question으로보십시오. 작업에 제출자가 인식 할 수있는 다른 방법이 없다면 "완료"상태 (COMPLETED, FAILED 또는 STOPPED) 중 하나에 대해 JobExecution을 폴링하는 자신의 간단한 루틴을 작성할 수 있습니다. 명심해야 할
또 다른 기술은 시작 콩입니다.당신이 결과를하는 당신이해야합니다 (JobOperator 인터페이스를 사용하여 분리 작업을 확인하는 방법이있는 경우
@Startup
@Singleton
public class StartupBean {
JobOperator jobOp = BatchRuntime.getJobOperator();
// Drive job(s) on startup.
jobOp.start(...);
이 유용 할 수 있습니다 : 당신은 같은 시작 빈과 서버를 시작하여 작업을 간단하게 실행할 수 있습니다 서버에서). 테스트 결과를 폴링하고 작업 결과를 확인할 수 있습니다. HTTP 포트를 열 필요가 없으며 서버 시작 오버 헤드는 불과 몇 초입니다.