Annotation Interface SchedulerLock
@Documented
@Retention(RUNTIME)
@Target({TYPE,METHOD})
@Around
@Executable
@Type(SchedulerLockInterceptor.class)
public @interface SchedulerLock
-
Required Element Summary
Required Elements -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionThe lock will be held at least for this period of time.How long the lock should be kept in case the machine which obtained the lock died before releasing it.
-
Element Details
-
name
String nameLock name.
-
-
-
lockAtMostFor
String lockAtMostForHow long the lock should be kept in case the machine which obtained the lock died before releasing it. This is just a fallback, under normal circumstances the lock is released as soon the tasks finishes. Can be any format supported by Duration Conversion- Default:
- ""
-
lockAtLeastFor
String lockAtLeastForThe lock will be held at least for this period of time. Can be used if you really need to execute the task at most once in given period of time. If the duration of the task is shorter than clock difference between nodes, the task can be theoretically executed more than once (one node after another). By setting this parameter, you can make sure that the lock will be kept at least for given period of time. Can be any format supported by Duration Conversion- Default:
- ""
-