使用Java Flow Framework进行SWF。
如何在SWF中安排特定时间的活动? 让我们说,发送在2017年10月22日上午9:00运行“sendNotification”。
示例允许创建具有延迟的计时器,但不能在指定时间内创建。 即使我可以根据当前时间戳和需要触发事件的目标时间来计算延迟,但是如何在工作流程执行期间获取当前时间,因为如果您尝试获取当前系统时间工作流决策程序,它在工作流中创建non-determinism并且失败。
Date currentDate = new Date();
long sysTimeInSeconds = (currentDate.getTime() / 1000);
System.out.println("System Time : " + sysTimeInSeconds);
Promise<Void> timer = clock.createTimer((timeStampInSeconds - sysTimeInSeconds));
[由于我们使用的是系统当前时间,因此不允许使用上述代码]
工作流程时钟的当前时间,返回工作流程的开始时间,这对我没用。
那么我如何安排特定时间的活动?