@Documented @Retention(value=RUNTIME) @Target(value=TYPE) public @interface ScheduleWithFixedDelay
For example, you want a method to do something every minute:
@ScheduleWithFixedDelay(delay = 1, unit = TimeUnit.MINUTES) public class Bucket implements Runnable, Closeable { @Override void run() { // do some routine job } @Override void close() { // close operations } }
Execution will be started as soon as you make an instance of the class,
and will be stopped when you call close()
:
Bucket bucket = new Bucket(); // some time later bucket.close();
In order to be executed the class should implement either
Runnable
or Callable
. In order to
be closed and stopped, your the class should implement
Closeable
and its close()
method should be explicitly called
at the moment you want it to stop.
public abstract int delay
public abstract TimeUnit unit
Copyright © 2012-2013 jcabi.com. All Rights Reserved.