This <timeDelay> attribute enables the user to set a time after which the job will be hibernated. This facility is provided for asynchronous activities on the parallel paths to complete execution. A time delay set to zero (0) will hibernate the job immediately without waiting.
The job may not get hibernated right after an advice calls setHibernateJobEnabled(long). Hence, the engine must finish executing all advices that are part of the same join point before initiating the hibernate procedure. Even after that, the job may still not immediately get hibernated right. The advice that triggers the hibernation may choose to delay it, in order to give chance to any asynchronous advice or any asynchronous activity that might exist in the job on parallel tracks to finish executing. To accomplish that, the advice implementation must call s
etHibernatedJobEnabled(long) method by passing a
timeDelay greater than 0. A 0
timeDelay ensures that the hibernation is initiated right after the engine finishes executing all advices that are running in that particular join point.
TIBCO Hawk methods have been exposed for listing and resuming the hibernated jobs. A job is resumed from the next point of execution. For example, for a "Before" hibernated advice, the job will resume from activity execution.
A job hibernated on one engine can be resumed on a different instance of the engine. However, the engine must be running prior to calling the
ResumeHibernatedProcess().
Figure 19 shows an example of resuming a job from TIBCO Administrator Hawk console.