Comments (5)
Dave Syer commented
I think maybe the best thing is to extend the JobExecutionContext as a holder for the Job/Step/*Executions and make it responsible for maintaining the invariants (like every StepExecution has a JobExecution). Then StepExecutor and JobExecutor would use this directly in their interfaces, instead of Step/Job. And Job/Step could lose their (unnatural) reference to the JobExecutionContext.
from spring-batch.
Dave Syer commented
Changed interface of *Executor to take a context object instead of the Job/Step. The will allow us to control the relationships and invariants.
TODO: clean up the executor code - scan for *ExecutionContext and extend the context interfaces to handle some of the schlepping that is being done by the executor.
TODO: change the data model to allow the StepExecution to know about its JobExecution, and make the link in the context helper methods.
from spring-batch.
Dave Syer commented
The data mode is changed and relations are managed consistently. Made Step/Job unaware of the context - the context has to be aware of the entity anyway. There may still be an argument for moving more (or all) of the role of the execution contexts into the entity. For now there are still a few minor tidying tasks to do - e.g. to move some of the entity relationship management out of *Executor and into *ExecutionContext
from spring-batch.
Dave Syer commented
Consolidated some of the creation logic (mainly for JobExecution) into *ExectionContext.
from spring-batch.
Dave Syer commented
Assume closed as resolved and released
from spring-batch.
Related Issues (20)
- Regression in Javadoc deployment path with 5.1.2 HOT 2
- Use '@EnableBatchProcessing' carefully on Spring Boot3. HOT 2
- AggregateMongoItemReader to perform mongoDb aggregations
- CustomJobRepository
- No @FunctionalInterface in JobKeyGenerator
- Repeating 'the the' exists
- Is it correct for isNonDefaultExitStatus to return true when status is null?
- #{stepExecutionContext[''] value same among partitioned threads on batch restart/resubmit.
- When an parameter with empty value is provided, `DefaultJobParametersConverter` fails with not user-friendly message.
- Add DatabaseType POSTGRES for the product name EnterpriseDB
- One more chunk will be executed even if a job is stopped
- Support registrating listener with multiple interface implementation HOT 1
- Link to batch reference documentation on project page is incorrect
- Chunck Monitor always report a warn about restarting, even if restart is desactivated
- Issue with Sort Keys and Case Sensitivity in Spring Batch with PostgreSQL
- BeanPostProcessorChecker many warnings on startup even on empty project HOT 10
- improve JobParameters to Non ThreadLocal
- Classifier and MultiResourceItemWriter not creating an empty files when no data goes through that
- SQL DDL files can not be resolved correctly during a GraalVM native build HOT 2
- Job operator restart failed step issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spring-batch.