spring-projects / spring-projects/spring-batch
Allow MongoDB creation scripts to be idempotent
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 2.5k
- Avg merge
- 6d 53m
- Merged PRs (30d)
- 3
Description
Right now, Spring Batch offers two ways to create or drop the necessary infrastructure to use Spring Batch with MongoDB.
Chatting with @mp911de, he's mentioning that some aspect of the initialization can be done on first request, while others can be made conditional. I don't what the best practices would be, but a feature where things are validated/created on startup would be quite useful for Spring Boot.
Right now, we have a way to create the store, or drop it. "create" isn't very useful in production so you'd switch it off. In dev you'd use create-drop, which isn't suitable when restarting the app and hacking on something.
In short, I am wondering if we could provide something in Spring Batch we could leverage. Doing so in Spring Boot is not an option and the lack of support would probably mean users will have to setup the schema manually.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue mentions Spring Batch’s existing MongoDB create and drop mechanisms but names no files or tests. Start by tracing those initialization paths and compare what can run on startup versus on the first request. Done means the desired conditional, repeatable creation and validation behavior is defined for Spring Boot, development restarts, and production use.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mongodb, spring, spring-boot
- Domain
- backend, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100