protected long getCurrentTime() { if (clock != null) { return clock.getCurrentTime(); } else { return System.currentTimeMillis(); } }
public Date hasNextFireTime() { Date date = orig.hasNextFireTime(); if (date == null) { return null; } long then = date.getTime(); long now = kruntime.getSessionClock().getCurrentTime(); // overdue timer if (then < now) { return new Date((now + OVERDUE_DELAY)); } else { return orig.hasNextFireTime(); } }
c.setTimeInMillis(this.clock.getCurrentTime());
new Date(ctx.getKnowledgeRuntime().<SessionClock> getSessionClock().getCurrentTime()));
public void deserialize(MarshallerReaderContext inCtx, Timer timer) throws ClassNotFoundException { JBPMMessages.ProcessTimer ptimer = timer.getExtension(JBPMMessages.procTimer); TimerService ts = inCtx.wm.getTimerService(); long processInstanceId = ptimer.getTimer().getProcessInstanceId(); Trigger trigger = ProtobufInputMarshaller.readTrigger(inCtx, ptimer.getTrigger()); TimerInstance timerInstance = ProtobufProcessMarshaller.readTimer(inCtx, ptimer.getTimer()); TimerManager tm = ((InternalProcessRuntime) inCtx.wm.getProcessRuntime()).getTimerManager(); // check if the timer instance is not already registered to avoid duplicated timers if (!tm.getTimerMap().containsKey(timerInstance.getId())) { ProcessJobContext pctx = new ProcessJobContext(timerInstance, trigger, processInstanceId, inCtx.wm.getKnowledgeRuntime(), false); Date date = trigger.hasNextFireTime(); if (date != null) { long then = date.getTime(); long now = pctx.getKnowledgeRuntime().getSessionClock().getCurrentTime(); // overdue timer if (then < now) { trigger = new OverdueTrigger(trigger, pctx.getKnowledgeRuntime()); } } JobHandle jobHandle = ts.scheduleJob(processJob, pctx, trigger); timerInstance.setJobHandle(jobHandle); pctx.setJobHandle(jobHandle); tm.getTimerMap().put(timerInstance.getId(), timerInstance); } } }
kruntime.startOperation(); ctx.getTimer().setLastTriggered( new Date(ctx.getKnowledgeRuntime().<SessionClock> getSessionClock().getCurrentTime()));
@Override public long getCurrentTime() { return delegateClock.getCurrentTime(); } };
@Override public long getCurrentTime() { return delegateClock.getCurrentTime(); } };
protected long getCurrentTime() { if (clock != null) { return clock.getCurrentTime(); } else { return System.currentTimeMillis(); } }
final ProtobufMarshaller marshaller = (ProtobufMarshaller) MarshallerFactory.newMarshaller(kbase, (ObjectMarshallingStrategy[]) ksession.getEnvironment().get(EnvironmentName.OBJECT_MARSHALLING_STRATEGIES)); final long time = ksession.getSessionClock().getCurrentTime();
private long getCurrentTime() { return ksession.getSessionClock().getCurrentTime(); } }
public Date hasNextFireTime() { Date date = orig.hasNextFireTime(); if (date == null) { return null; } long then = date.getTime(); long now = kruntime.getSessionClock().getCurrentTime(); // overdue timer if (then < now) { return new Date((now + OVERDUE_DELAY)); } else { return orig.hasNextFireTime(); } }
c.setTimeInMillis(this.clock.getCurrentTime());
new Date(ctx.getKnowledgeRuntime().<SessionClock> getSessionClock().getCurrentTime()));
public void deserialize(MarshallerReaderContext inCtx, Timer timer) throws ClassNotFoundException { JBPMMessages.ProcessTimer ptimer = timer.getExtension(JBPMMessages.procTimer); TimerService ts = inCtx.wm.getTimerService(); long processInstanceId = ptimer.getTimer().getProcessInstanceId(); Trigger trigger = ProtobufInputMarshaller.readTrigger(inCtx, ptimer.getTrigger()); TimerInstance timerInstance = ProtobufProcessMarshaller.readTimer(inCtx, ptimer.getTimer()); TimerManager tm = ((InternalProcessRuntime) inCtx.wm.getProcessRuntime()).getTimerManager(); // check if the timer instance is not already registered to avoid duplicated timers if (!tm.getTimerMap().containsKey(timerInstance.getId())) { ProcessJobContext pctx = new ProcessJobContext(timerInstance, trigger, processInstanceId, inCtx.wm.getKnowledgeRuntime(), false); Date date = trigger.hasNextFireTime(); if (date != null) { long then = date.getTime(); long now = pctx.getKnowledgeRuntime().getSessionClock().getCurrentTime(); // overdue timer if (then < now) { trigger = new OverdueTrigger(trigger, pctx.getKnowledgeRuntime()); } } JobHandle jobHandle = ts.scheduleJob(processJob, pctx, trigger); timerInstance.setJobHandle(jobHandle); pctx.setJobHandle(jobHandle); tm.getTimerMap().put(timerInstance.getId(), timerInstance); } } }
kruntime.startOperation(); ctx.getTimer().setLastTriggered( new Date(ctx.getKnowledgeRuntime().<SessionClock> getSessionClock().getCurrentTime()));