public interface BatchAdapter
BatchAdapter
allows an instance to be notified by the BatchManager of execution events
of a BatchJob.Modifier and Type | Method and Description |
---|---|
default void |
afterCompletion(BatchJob job,
boolean commit)
The afterCompletion method notifies a BatchAdapter that a batchjob has completed.
|
default void |
afterCreation(BatchJob job)
The afterCreation method notifies a batch adapter that a batchjob has been created.
|
default void |
beforeCompletion(BatchJob job)
The beforeCompletion method notifies a BatchAdapter that a BatchJob is about to complete.
|
default void |
doCompensate(BatchJob job)
Will be called when a GoBack() action on the process is being performed and the goBack path crosses the corresponding batch step.
|
default void |
doPoll(BatchJob job)
The doPoll method is being used by the executing (timer) thread to determine if a batchjob has been finished.
|
void |
doStart(BatchJob job)
The doStart Method is responsible for starting the batch job.
|
default void |
onAbort(BatchJob bj)
Will be called when a batch step is aborted.
|
default void |
onReactivate(BatchJob bj)
Will be called when a step for an aborted batch job is reactivated via process reactivation.
|
default void |
startup()
Startup is called when the adapter is instantiated by the BatchManager.
|
default void startup() throws Exception
Exception
default void afterCreation(BatchJob job) throws Exception
This usually happens via a Batchmanager.submitJob()
call.
It can be used to collect parameters from the process context.
If it makes any changes to the job
, job.update()
must be called.
It is typically executed from a preprocessing method of a Task
and is expected to
complete quickly.
If an Exception is thrown by afterCreation, this exception is not catched and will manifest in the context of the caller (usually a preprocessing method).
job
- a BatchJobException
void doStart(BatchJob job) throws Exception
It has to start the batch job in some external execution context. If it runs in the JVM itself, it is expected to complete quickly. The method is executed via the Batch Timer for each BatchJob, which is in state BatchJob.CREATED and whose starttime is either null or not in the future.
If an exception is thrown by doStart, the behaviour depends on whether retrystart is specified for the job or not. Jobs without retrystart are placed in state BatchJob.STARTERROR and a ROLLBACK is done! No further action is carried out by the system with this BatchJob. So either doStart itself has to take appropriate actions, or an administrator must check for jobs in this state manually.
Jobs with retrystart remain in state created and a new start attempt will be made in the future.
doStart can make use of one of the methods BatchManager.markJobError(), BatchManager.markJobFinished() and BatchManager.markSuspendRetry() to mark the job as being erroneous, as being finished or to suspend further start attempts.
job
- a BatchJobException
default void doPoll(BatchJob job) throws Exception
If doPoll returns or throws an exception, the state of the job remains unchanged. doPoll can make use of one of the methods BatchManager.markJobError(), BatchManager.markJobFinished() and BatchManager.markJobSuspendPoll() to mark the job as being erroneous, as being finished or to suspend further poll attempts.
job
- a BatchJobException
default void beforeCompletion(BatchJob job) throws Exception
BatchJob.FINISHED
),BatchManager.completeJob(BatchJob)
for a BatchJob with jobstate BatchJob.STARTED
The method can be used to transfer results from the execution context of the finished jobs to the process context.
If an exception is thrown by beforeCompletion, the BatchManager places the job in state BatchJob.FINISHERROR. No further action is carried out by the system with this BatchJob. So either beforeCompletion itself takes appropriate actions, or handling is done in afterCompletion, or an administrator must check for jobs in this state manually.
job
- a BatchJobException
default void afterCompletion(BatchJob job, boolean commit) throws Exception
job
- a BatchJobcommit
- True if the job has been completed, false if there were errors.Exception
default void doCompensate(BatchJob job) throws Exception
job
- a BatchJobException
default void onAbort(BatchJob bj) throws Exception
bj
- the batchjobException
@enterprise 10.0.39049 Copyright © 2024 FREQUENTIS AG. All Rights Reserved.