2017-09-25 25 views
0

データベースのテーブルにCSVの行を永続化できるSpringバッチを持つJavaバッチプロジェクトをセットアップしました。 Spring API RESTで、必要なCSVに参加するPOSTメソッドを使ってバッチをトリガすることが可能かどうかを知りたいと思います。Springバッチ+ Spring API REST

はあなたがJobLauncherJobControllerを使用していることを行うことができ、事前に

答えて

1

をお願いします。コントローラのベアボーンがこの

@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の実装のようになり、デフォルトで同期executorを使用して、あなたはおそらく、あなたの要件に依存非同期1にそれを変更したいと思う

ので
+0

私はPOSTから仕事を開始することができましたが、方法で送信するCSVを取得するにはどうすればよいですか? – Fosfor

+0

@Fosforこの[Getting Started Guide](https://spring.io/guides/gs/uploading-files/)に従うと、ファイルをアップロードするメソッドを作ることができます(MultipartFileには 'transferTo'と' getBytes'がありますファイルを保存します)。その後、ファイルのパスを文字列としてジョブのパラメータに入れることができます –

関連する問題