Roger 71
Roger 71

Reputation: 131

Integration of Spring Batch with a web application

I'm working on a web application that accepts a csv file, parses its contents and stores them in a db. I'm using spring boot.

I read this tutorial about spring batch.

Question #1
The purpose of Spring Batch is to implement only stand alone programs or could it be efficiently integrated into a web application?
I'm wondering if, for my use case, a combination of FileInputStream and InputStreamReader to parse the file maybe more simple and straight forward, while using Spring Batch could be a little overkill.

Question #2
I didn't find any example, or tutorial, or documentation page that explains how to call (run) a "batch job" from a web application (for example from a method of the controller). In the aforementioned tutorial the job is "hooked" from the application, there's nothing like a job.run(), it just executes when the batch demo application is run. How could it be made? Is there any place where something like my specific use case is explained?

Upvotes: 0

Views: 1589

Answers (1)

Simon Martinelli
Simon Martinelli

Reputation: 36103

Question #1

Using Spring Batch from a web application may be a good idea because you get all the benefits from Spring Batch.

Question #2

Inject the JobLauncher instance. JobLauncher is the class used to run batch jobs.

Please read the documentation:

https://docs.spring.io/spring-batch/docs/current/reference/html/job.html#runningJobsFromWebContainer

Upvotes: 2

Related Questions