Class PollSettings
- java.lang.Object
-
- ru.yoomoney.tech.dbqueue.settings.PollSettings
-
public class PollSettings extends java.lang.ObjectTask polling settings.- Since:
- 01.10.2021
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPollSettings.BuilderA builder for poll settings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PollSettings.Builderbuilder()Create a new builder for poll settings.protected voidcopyFields(PollSettings newValue)Copy fields of new object to current object.booleanequals(java.lang.Object obj)java.time.DurationgetBetweenTaskTimeout()Get delay duration between picking tasks from the queue after the task was processed.protected java.util.function.BiFunction<PollSettings,PollSettings,java.lang.String>getDiffEvaluator()Function evaluates difference between new and old value.java.time.DurationgetFatalCrashTimeout()Get delay duration when task execution thread sleeps after unexpected error.protected java.lang.StringgetName()Name of settingjava.time.DurationgetNoTaskTimeout()Get delay duration between picking tasks from the queue if there are no task for processing.protected PollSettingsgetThis()Return typed reference of current objectinthashCode()voidregisterObserver(java.util.function.BiConsumer<T,T> observer)Register observer to track setting changes.java.util.Optional<java.lang.String>setValue(T newValue)Sets new value for current setting.java.lang.StringtoString()
-
-
-
Method Detail
-
getBetweenTaskTimeout
@Nonnull public java.time.Duration getBetweenTaskTimeout()
Get delay duration between picking tasks from the queue after the task was processed.- Returns:
- Delay after next task was processed.
-
getNoTaskTimeout
@Nonnull public java.time.Duration getNoTaskTimeout()
Get delay duration between picking tasks from the queue if there are no task for processing.- Returns:
- Delay when there are no tasks to process.
-
getFatalCrashTimeout
@Nonnull public java.time.Duration getFatalCrashTimeout()
Get delay duration when task execution thread sleeps after unexpected error.- Returns:
- Delay after unexpected error.
-
builder
public static PollSettings.Builder builder()
Create a new builder for poll settings.- Returns:
- A new builder for poll settings.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getName
@Nonnull protected java.lang.String getName()
Name of setting- Returns:
- name
-
getDiffEvaluator
@Nonnull protected java.util.function.BiFunction<PollSettings,PollSettings,java.lang.String> getDiffEvaluator()
Function evaluates difference between new and old value. 1st argument - old value, 2nd argument - new value.- Returns:
- difference between two values
-
getThis
@Nonnull protected PollSettings getThis()
Return typed reference of current object- Returns:
- current object
-
copyFields
protected void copyFields(@Nonnull PollSettings newValue)Copy fields of new object to current object.- Parameters:
newValue- new value
-
setValue
public final java.util.Optional<java.lang.String> setValue(@Nonnull T newValue)Sets new value for current setting. Notifies observer when property is changed.- Parameters:
newValue- new value for setting- Returns:
- diff between old value and new value. Returns empty object when no changes detected.
- See Also:
DynamicSetting.registerObserver(BiConsumer)
-
registerObserver
public final void registerObserver(java.util.function.BiConsumer<T,T> observer)
Register observer to track setting changes.- Parameters:
observer- consumer which will be notified on property change. 1st argument - old value, 2nd argument - new value
-
-