You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In v5, the in-memory Map-based job repository implementation was removed for several reasons, as explained in #3780. The only implementation that was left in Spring Batch was the JDBC implementation, which requires a data source. While this works well with in-memory databases like H2 or HSQLDB, requiring a data source was a constraint for many users of our community that used to use the Map-based repository without any dependency to a data source (ie an additional dependency to H2, or HSQLDB).
The goal of this feature request is to introduce a JobRepository implementation that does not use or store batch meta-data in any form (not even in-memory). It is a "NoOp" implementation that throws away batch meta-data and does not interact with any resource of any form (hence the name "resourceless job repository", which is named after "resourceless transaction manager").
This implementation is intended for use-cases where restartability is not required and where the execution context is not involved in any way (like sharing data between steps through the execution context, or partitioned steps where partitions meta-data is shared between the manager and workers through the execution context, etc). This implementation should hold a single job instance and a corresponding job execution that are suitable for one-time jobs executed in their own JVM.
This job repository should work with transactional steps (configured with a DataSourceTransactionManager for instance) as well as non-transactional steps (configured with a ResourcelessTransactionManager). The implementation is not required to be thread-safe and should not be used in any concurrent environment.
The text was updated successfully, but these errors were encountered:
In v5, the in-memory Map-based job repository implementation was removed for several reasons, as explained in #3780. The only implementation that was left in Spring Batch was the JDBC implementation, which requires a data source. While this works well with in-memory databases like H2 or HSQLDB, requiring a data source was a constraint for many users of our community that used to use the Map-based repository without any dependency to a data source (ie an additional dependency to H2, or HSQLDB).
The goal of this feature request is to introduce a
JobRepository
implementation that does not use or store batch meta-data in any form (not even in-memory). It is a "NoOp" implementation that throws away batch meta-data and does not interact with any resource of any form (hence the name "resourceless job repository", which is named after "resourceless transaction manager").This implementation is intended for use-cases where restartability is not required and where the execution context is not involved in any way (like sharing data between steps through the execution context, or partitioned steps where partitions meta-data is shared between the manager and workers through the execution context, etc). This implementation should hold a single job instance and a corresponding job execution that are suitable for one-time jobs executed in their own JVM.
This job repository should work with transactional steps (configured with a
DataSourceTransactionManager
for instance) as well as non-transactional steps (configured with aResourcelessTransactionManager
). The implementation is not required to be thread-safe and should not be used in any concurrent environment.The text was updated successfully, but these errors were encountered: