Package org.apache.tapestry5.ioc.internal.services.cron

## Class PeriodicExecutorImpl

- java.lang.Object
- - org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl

- All Implemented Interfaces:
    `Runnable`, `PeriodicExecutor`

      public class PeriodicExecutorImpl
      extends Object
      implements PeriodicExecutor, Runnable

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PeriodicExecutorImpl​(ParallelExecutor parallelExecutor, org.slf4j.Logger logger)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PeriodicJob` | `addJob​(Schedule schedule, String name, Runnable job)` | Adds a job to be executed.
    `void` | `init()` | Initializes this service.
    `void` | `run()` |
    `void` | `start​(RegistryShutdownHub hub)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PeriodicExecutorImpl

          public PeriodicExecutorImpl​(ParallelExecutor parallelExecutor,
                                      org.slf4j.Logger logger)

  - ### Method Detail

    - #### start

          @PostInjection
          public void start​(RegistryShutdownHub hub)

    - #### init

          public void init()

      Description copied from interface: `PeriodicExecutor`
      Initializes this service. Never call this method direclty. It's intended for internal Tapestry-IoC usage only.
      Specified by:
        `init` in interface `PeriodicExecutor`

    - #### addJob

          public PeriodicJob addJob​(Schedule schedule,
                                    String name,
                                    Runnable job)

      Description copied from interface: `PeriodicExecutor`
      Adds a job to be executed. The job is executed in a thread pool (via `ParallelExecutor.invoke(org.apache.tapestry5.ioc.Invokable)`), as determined by the schedule.
      Specified by:
        `addJob` in interface `PeriodicExecutor`
      Parameters:
        `schedule` - defines when the job will next execute
        `name` - a name used in debugging output related to the job
        `job` - a Runnable object that represents the work to be done
      Returns:
        a PeriodicJob that can be used to query when the job executes, or to cancel its execution

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`