Class NullAdapter

java.lang.Object
com.groiss.wf.batch.NullAdapter
All Implemented Interfaces:
BatchAdapter

public class NullAdapter extends Object implements BatchAdapter
Poor mans implementation of BatchAdapter. Does logging but nothing else.
  • Constructor Details

    • NullAdapter

      public NullAdapter()
  • Method Details

    • startup

      public void startup() throws Exception
      Description copied from interface: BatchAdapter
      Startup is called when the adapter is instantiated by the BatchManager. It can be used to setup the execution context for the BatchJobs.
      Specified by:
      startup in interface BatchAdapter
      Throws:
      Exception
    • afterCreation

      public void afterCreation(BatchJob job) throws Exception
      Description copied from interface: BatchAdapter
      The afterCreation method notifies a batch adapter that a batchjob has been created.

      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).

      Specified by:
      afterCreation in interface BatchAdapter
      Parameters:
      job - a BatchJob
      Throws:
      Exception
    • doStart

      public void doStart(BatchJob job) throws Exception
      Description copied from interface: BatchAdapter
      The doStart Method is responsible for starting the batch job.

      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.

      Specified by:
      doStart in interface BatchAdapter
      Parameters:
      job - a BatchJob
      Throws:
      Exception
    • doPoll

      public void doPoll(BatchJob job) throws Exception
      Description copied from interface: BatchAdapter
      The doPoll method is being used by the executing (timer) thread to determine if a batchjob has been finished. It will be called periodically by the executing timer if the Batchjob has pollfinish set.

      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.

      Specified by:
      doPoll in interface BatchAdapter
      Parameters:
      job - a BatchJob
      Throws:
      Exception
    • beforeCompletion

      public void beforeCompletion(BatchJob job) throws Exception
      Description copied from interface: BatchAdapter
      The beforeCompletion method notifies a BatchAdapter that a BatchJob is about to complete. This method is called before the Task in which the BatchJob originated is finished;

      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.

      Specified by:
      beforeCompletion in interface BatchAdapter
      Parameters:
      job - a BatchJob
      Throws:
      Exception
    • afterCompletion

      public void afterCompletion(BatchJob job, boolean commit) throws Exception
      Description copied from interface: BatchAdapter
      The afterCompletion method notifies a BatchAdapter that a batchjob has completed. It also tells the adapter whether the completion was successful or not. If an exception occurs, a ROLLBACK is done!

      Specified by:
      afterCompletion in interface BatchAdapter
      Parameters:
      job - a BatchJob
      commit - True if the job has been completed, false if there were errors.
      Throws:
      Exception
    • doCompensate

      public void doCompensate(BatchJob job) throws Exception
      Description copied from interface: BatchAdapter
      Will be called when a GoBack() action on the process is being performed and the goBack path crosses the corresponding batch step.
      Specified by:
      doCompensate in interface BatchAdapter
      Parameters:
      job - a BatchJob
      Throws:
      Exception