Package de.hybris.platform.cronjob
Class StaleCronJobUnlocker
- java.lang.Object
-
- java.lang.Thread
-
- de.hybris.platform.core.threadregistry.RegistrableThread
-
- de.hybris.platform.cronjob.StaleCronJobUnlocker
-
- All Implemented Interfaces:
java.lang.Runnable
- Direct Known Subclasses:
StaleCronJobUnlockerTest.TestStaleCronJobUnlocker
public class StaleCronJobUnlocker extends RegistrableThread
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPROPERTY_CRONJOB_STALE_NODE_CUTOFF_INTERVALstatic java.lang.StringPROPERTY_CRONJOB_STALE_NODE_INTERVALstatic java.lang.StringPROPERTY_CRONJOB_UNLOCK_LIMITstatic java.lang.StringPROPERTY_CRONJOB_UNLOCKER_ACTIVEstatic java.lang.StringPROPERTY_CRONJOB_UNLOCKER_INTERVAL
-
Constructor Summary
Constructors Constructor Description StaleCronJobUnlocker(Tenant tenant)StaleCronJobUnlocker(java.lang.String threadName, Tenant tenant)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected java.util.Collection<ClusterNodeInfo>getAllNodes()protected java.time.DurationgetCheckIntervalMs()protected intgetMaxCronJobsCountToBeUnlocked()protected java.util.List<java.lang.Integer>getNodeIds(java.util.Collection<ClusterNodeInfo> nodes)protected java.util.List<java.lang.Integer>getStaleNodeIds(java.util.Collection<ClusterNodeInfo> allNodes, java.util.function.Predicate<ClusterNodeInfo> staleNodePredicate)protected java.util.List<java.lang.Integer>getStaleNodeIds(java.util.function.Predicate<ClusterNodeInfo> staleNodePredicate)Deprecated, for removal: This API element is subject to removal in a future version.since 2011, usegetStaleNodeIds(Collection, Predicate)protected java.util.function.Predicate<ClusterNodeInfo>getStaleNodePredicate(java.time.Instant staleNodePingTsThreshold, java.time.Instant staleNodePingTsCutoff)protected java.time.DurationgetStaleNodeThresholdInterval()protected java.time.InstantgetStaleNodeTsCutoff(java.time.Instant staleNodeThreshold)protected java.time.InstantgetStaleNodeTsThreshold(java.time.Instant now, java.time.Duration staleThreshold)protected voidinternalRun()protected booleanshouldUnlockStaleCronJobs()voidstopUpdatingAndFinish(long timeoutMillis)protected voidunlockCronJobsForNodeIds(java.util.Collection<java.lang.Integer> staleNodes, java.util.Collection<java.lang.Integer> allNodes)protected voidunlockCronJobsForNodeIds(java.util.List<java.lang.Integer> staleNodes)Deprecated, for removal: This API element is subject to removal in a future version.since 2011, useunlockCronJobsForNodeIds(Collection, Collection)protected voidunlockCronJobsFromLocalInstance()-
Methods inherited from class de.hybris.platform.core.threadregistry.RegistrableThread
registerThread, run, unregisterThread, withInitialInfo
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
PROPERTY_CRONJOB_UNLOCKER_ACTIVE
public static final java.lang.String PROPERTY_CRONJOB_UNLOCKER_ACTIVE
- See Also:
- Constant Field Values
-
PROPERTY_CRONJOB_UNLOCKER_INTERVAL
public static final java.lang.String PROPERTY_CRONJOB_UNLOCKER_INTERVAL
- See Also:
- Constant Field Values
-
PROPERTY_CRONJOB_STALE_NODE_INTERVAL
public static final java.lang.String PROPERTY_CRONJOB_STALE_NODE_INTERVAL
- See Also:
- Constant Field Values
-
PROPERTY_CRONJOB_STALE_NODE_CUTOFF_INTERVAL
public static final java.lang.String PROPERTY_CRONJOB_STALE_NODE_CUTOFF_INTERVAL
- See Also:
- Constant Field Values
-
PROPERTY_CRONJOB_UNLOCK_LIMIT
public static final java.lang.String PROPERTY_CRONJOB_UNLOCK_LIMIT
- See Also:
- Constant Field Values
-
-
Method Detail
-
internalRun
protected void internalRun()
- Overrides:
internalRunin classRegistrableThread
-
shouldUnlockStaleCronJobs
protected boolean shouldUnlockStaleCronJobs()
-
getCheckIntervalMs
protected java.time.Duration getCheckIntervalMs()
-
unlockCronJobsFromLocalInstance
protected void unlockCronJobsFromLocalInstance()
-
getAllNodes
protected java.util.Collection<ClusterNodeInfo> getAllNodes()
-
getNodeIds
protected java.util.List<java.lang.Integer> getNodeIds(java.util.Collection<ClusterNodeInfo> nodes)
-
getStaleNodeThresholdInterval
protected java.time.Duration getStaleNodeThresholdInterval()
-
unlockCronJobsForNodeIds
@Deprecated(since="2011", forRemoval=true) protected void unlockCronJobsForNodeIds(java.util.List<java.lang.Integer> staleNodes)Deprecated, for removal: This API element is subject to removal in a future version.since 2011, useunlockCronJobsForNodeIds(Collection, Collection)
-
unlockCronJobsForNodeIds
protected void unlockCronJobsForNodeIds(java.util.Collection<java.lang.Integer> staleNodes, java.util.Collection<java.lang.Integer> allNodes)
-
getStaleNodeIds
protected java.util.List<java.lang.Integer> getStaleNodeIds(java.util.Collection<ClusterNodeInfo> allNodes, java.util.function.Predicate<ClusterNodeInfo> staleNodePredicate)
-
getStaleNodeIds
@Deprecated(since="2011", forRemoval=true) protected java.util.List<java.lang.Integer> getStaleNodeIds(java.util.function.Predicate<ClusterNodeInfo> staleNodePredicate)Deprecated, for removal: This API element is subject to removal in a future version.since 2011, usegetStaleNodeIds(Collection, Predicate)
-
getMaxCronJobsCountToBeUnlocked
protected int getMaxCronJobsCountToBeUnlocked()
-
getStaleNodeTsThreshold
protected java.time.Instant getStaleNodeTsThreshold(java.time.Instant now, java.time.Duration staleThreshold)
-
getStaleNodeTsCutoff
protected java.time.Instant getStaleNodeTsCutoff(java.time.Instant staleNodeThreshold)
-
getStaleNodePredicate
protected java.util.function.Predicate<ClusterNodeInfo> getStaleNodePredicate(java.time.Instant staleNodePingTsThreshold, java.time.Instant staleNodePingTsCutoff)
-
stopUpdatingAndFinish
public void stopUpdatingAndFinish(long timeoutMillis)
-
-