Skip to main content

spring_batch_rs/core/
mod.rs

1/// Core module for Spring Batch functionality.
2///
3/// This module contains the fundamental components that make up the Spring Batch framework.
4/// It defines the core abstractions for batch processing, including:
5///
6/// - **Item processing**: Interfaces for reading, processing, and writing items
7/// - **Jobs**: Container for a sequence of steps that defines a batch process
8/// - **Steps**: Individual unit of work in a batch job
9///
10/// # Architecture
11///
12/// The Spring Batch architecture follows a chunking pattern:
13///
14/// 1. Items are read one by one from a data source using an `ItemReader`
15/// 2. Batches of items are processed using an `ItemProcessor`
16/// 3. Processed items are written in chunks using an `ItemWriter`
17///
18/// This chunking approach provides benefits for performance, restartability, and transaction management.
19///
20/// # Module Structure
21///
22/// - `item`: Core interfaces for reading, processing, and writing items
23/// - `job`: Job execution and management
24/// - `step`: Step definition and execution
25///
26/// Item processing interfaces.
27///
28/// Contains the fundamental interfaces that define the batch processing pipeline:
29/// - `ItemReader`: Reads items one at a time from a data source
30/// - `ItemProcessor`: Processes items from one type to another
31/// - `ItemWriter`: Writes batches of items to a destination
32pub mod item;
33
34/// Job execution and management.
35///
36/// Contains types for defining and executing jobs:
37/// - `Job`: Interface for executable batch jobs
38/// - `JobInstance`: Specific instance of a job with configuration
39/// - `JobExecution`: Execution details for a job run
40/// - `JobBuilder`: Builder for creating job instances
41pub mod job;
42
43/// Step definition and execution.
44///
45/// Contains types for defining and executing steps:
46/// - `Step`: Interface for individual units of work
47/// - `StepInstance`: Specific instance of a step with configuration
48/// - `StepExecution`: Execution details for a step run
49/// - `StepBuilder`: Builder for creating step instances
50pub mod step;