2017-09-25 3 views
0

데이터베이스의 테이블에 CSV 행을 유지할 수있는 스프링 배치가있는 Java 배치 프로젝트를 설정했습니다. 스프링 API REST를 사용하여 필요한 CSV에 참여할 POST 메서드로 배치를 트리거하는 것이 가능한지 알고 싶습니다. 스프링 배치 + 스프링 API 나머지

사전

답변

1

에 감사합니다 당신이 할 수 JobLauncherJob 기호가있는 Controller를 사용하여. 컨트롤러의 베어 본이

@RestController 
public class MyController{ 
    // Usually given by Spring Batch 
    private JobLauncher jobLauncher; 
    // Your Job 
    private Job job; 
    // Ctor 
    public MyController(JobLauncher jobLauncher, Job job, ...){} 

    @PostMapping("/") 
    public String launchJob(...){ 
     ... 
     // Create JobParameters and launch 
     JobParameters jobparameters = new Job Parameters(); 
     jobLauncher.run(job, jobParameters); 
     ... 
    } 
} 

SimpleJobLauncher, JobLauncher의 구현처럼 될 것입니다, 기본적으로 동기 집행을 사용하여, 당신은 아마 당신의 요구 사항 따라 비동기 하나를 변경하고 싶을 것이다

그래서
+0

POST에서 작업을 시작했지만 그 방법으로 보내는 CSV를 검색하려면 어떻게해야합니까? – Fosfor

+0

@Fosfor이 [Getting Started Guide] (https://spring.io/guides/gs/uploading-files/)를 따라 파일 업로드 방법을 만들 수 있습니다 (MultipartFile에는 'transferTo'와'getBytes'가 있습니다). 당신은 파일을 저장합니다). 그 후에 파일의 경로를 작업 매개 변수에 문자열로 넣을 수 있습니다. –