spring-projects / spring-projects/spring-batch

Allow MongoDB creation scripts to be idempotent

Open
#5,328 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: waiting-for-triage type: feature
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.