Как изменить продолжительность сна в каденции рабочего процесса на основе сигнала? Это правильный способ использования java клиента?
private int timeout;
@Override
@WorkflowMethod
public void sleepAndWakeUp(int sleepTimeout) {
this.timeout = sleepTimeout;
sleep();
System.out.println("Woken up after " + this.timeout + " s sleep");
}
private void sleep() {
int currentTimeout = this.timeout;
Workflow.await(Duration.ofSeconds(this.timeout), () -> {
boolean cancelTimer = currentTimeout != this.timeout;
if(cancelTimer) {
sleep();
}
return cancelTimer;
});
}
@Override
@SignalMethod
public void snooze(int sleepTimeout) {
this.timeout = sleepTimeout;
}
Я не нашел другой возможности отменить и перепланировать таймер отключения рабочего процесса