Comments (6)
Wayne Lund commented
We've always argued that you do need runtime information. The analogy we've used is with a metaphor from retail - the product and the SKU where product = JobRuntimeInformation and SKU = Job . The product is identified by the unique serial number of a physical instance and you can relate activities to it like warranties, support, etc. The SKU describes the product so that you can advertise and price it. In the case of JobRuntimeInformation we've said it's the instance of the job that we can associate statistics and monitoring with whereas Job is what we can schedule. If we can capture that type of two level logic with Job, which I don't think so, than we might get everything from Job.
from spring-batch.
Dave Syer commented
I think maybe the two levels you mention are actually already represented as Job (as the root of a context and its entity sub-hierarchy) and JobConfiguration. JobConfiguration is what you schedule, and Job is where the statistics and monitoring happen. JobRuntimeInformation is only used to a) locate a JobConfiguration (by matching their names), and b) supply some of the "static" monitoring data, like stream name and schedule date. So as things stand, an instance of Job would be able to play exactly the same role as a JobRuntimeInformation (but not a JobConfiguration).
from spring-batch.
Tommy C. Trang commented
I think we need both the Job and the JobRuntimeInformation because of the information they provide. The key information we need are job name, scheduled date, job runtime, and status.
from spring-batch.
Dave Syer commented
I'm not sure what you mean then by "job runtime". If you mean the startDate then Job actually has all that already and all the other properties.
from spring-batch.
Dave Syer commented
The discussion on this topic has really shifted since JobIdentifier was introduced. BATCH-58 and BATCH-84 are really the more relevant concerns now. Leaving this one open, but marking it as dependent.
from spring-batch.
Dave Syer commented
The meaning of JobIdentifier is pretty much clear now - it's what you need to start / restart a job, but doesn't contain the exit status and execution dates etc.
from spring-batch.
Related Issues (20)
- Discrepancy in Thread Safety Documentation for AbstractPagingItemReader Subclasses
- Improve Error Messages in JobParametersBuilder methods
- The table field type in the SQL Server database is ntext and synchronized to the Oracle database, resulting in invalid column types in the corresponding NCLOB
- Add static variables to prevent typos in the metadata tables string path HOT 1
- Deprecate the usage of LobHandler HOT 1
- Spring Batch Job Restart: What should be the correct values for chunk and readerPageSize with respect to grid size.
- Should ClassifierCompositeItemWriter use covariance (extends "keyword" instead "super") in the output type of classifier property?
- Add possibility to configure line separator for RecursiveCollectionLineAggregator HOT 2
- Allow defining the Job level on @JobScope when we are using parent and child jobs (JobStepBuilder)
- Memory leak in MessageChannelPartitionHandler when polling the database HOT 2
- 5.1.3 Backported issues
- 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.
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.