All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sirius.kernel.timer.EveryDay Maven / Gradle / Ivy

Go to download

Provides common core classes and the microkernel powering all Sirius applications

There is a newer version: 12.9.1
Show newest version
/*
 * Made with all the love in the world
 * by scireum in Remshalden, Germany
 *
 * Copyright by scireum GmbH
 * http://www.scireum.de - [email protected]
 */

package sirius.kernel.timer;

/**
 * Parts registered for this interface will be invoked one time per day.
 * 

* An implementing class can be inserted into the {@link sirius.kernel.di.GlobalContext} using the * {@link sirius.kernel.di.std.Register} annotation. Once the system is started, the method * {@link sirius.kernel.timer.TimedTask#runTimer()} is invoked once per day. The hour within the call will take place * is determined by the config value named in {@link #getConfigKeyName()}. (The full path in the config * will be timer.daily.[getConfigKeyName]). *

* The call interval will not be exactly one day, as the time of invocation will vary from day to day. The system * ensures, that the method is called within the given hour of day, and not executed more than once per day. However, * if the system is restarted within the given hour, the method might be called twice, as the time of call is not * persisted over restarts. If a more precise behaviour is required, the subclass must take care of handling such * cases. */ public interface EveryDay extends TimedTask { /** * Returns the name of the config key, which stores the hour of execution. * * @return the config key to determine the hour if execution */ String getConfigKeyName(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy