Update documentation about serializable keys in the execution context

Resolves #4457
This commit is contained in:
hwan33
2023-11-07 20:08:55 +09:00
committed by Mahmoud Ben Hassine
parent 41f0fc803b
commit dcd1ac8b52
2 changed files with 9 additions and 2 deletions

View File

@@ -534,6 +534,12 @@ As noted in the comment, `ecStep` does not equal `ecJob`. They are two different
`ExecutionContexts`. The one scoped to the `Step` is saved at every commit point in the
`Step`, whereas the one scoped to the Job is saved in between every `Step` execution.
NOTE: In the `ExecutionContext`, all non-transient entries must be `Serializable`.
Proper serialization of the execution context underpins the restart capability of steps and jobs.
Should you use keys or values that are not natively serializable, you are required to
employ a tailored serialization approach. Failing to serialize the execution context
may jeopardize the state persistence process, making failed jobs impossible to recover properly.
[[jobrepository]]
== JobRepository

View File

@@ -30,8 +30,9 @@ import org.springframework.lang.Nullable;
* that allows optionally for type safety on reads. It also allows for dirty checking by
* setting a 'dirty' flag whenever any put is called.
* <p>
* Note that putting <code>null</code> value is equivalent to removing the entry for the
* given key.
* Non-transient entries should be serializable, otherwise a custom serializer should be
* used. Note that putting <code>null</code> value is equivalent to removing the entry for
* the given key.
*
* @author Lucas Ward
* @author Douglas Kaminsky