@Test(timeout = 60 * 1000) public void testUpdateTimerRelative() throws Exception { Map<String, Object> parameters = new HashMap<>(); parameters.put("timer", "1h"); Long processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_TIMER, parameters); assertNotNull(processInstanceId); assertTrue(processInstanceId.longValue() > 0); try { List<TimerInstance> timers = processAdminClient.getTimerInstances(CONTAINER_ID, processInstanceId); assertNotNull(timers); assertEquals(1, timers.size()); TimerInstance timerInstance = timers.get(0); assertNotNull(timerInstance); assertEquals("timer", timerInstance.getTimerName()); assertNotNull(timerInstance.getId()); assertNotNull(timerInstance.getTimerId()); processAdminClient.updateTimerRelative(CONTAINER_ID, processInstanceId, timerInstance.getId(), 3, 0, 0); KieServerSynchronization.waitForProcessInstanceToFinish(processClient, CONTAINER_ID, processInstanceId); ProcessInstance pi = processClient.getProcessInstance(CONTAINER_ID, processInstanceId); assertNotNull(pi); assertEquals(org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED, pi.getState().intValue()); } catch (Exception e){ processClient.abortProcessInstance(CONTAINER_ID, processInstanceId); fail(e.getMessage()); } }
@Override public void rescheduleTimerInstance(ProcessInstanceKey processInstanceKey, TimerInstanceSummary summary) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); if (summary.isRelative()) { servicesClient.updateTimerRelative(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } else { servicesClient.updateTimer(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } }
@Override public void rescheduleTimerInstance(ProcessInstanceKey processInstanceKey, TimerInstanceSummary summary) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); if (summary.isRelative()) { servicesClient.updateTimerRelative(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } else { servicesClient.updateTimer(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } }
summary); verify(processAdminServicesClient).updateTimerRelative(containerId, processInstanceId, summary.getId(),
summary); verify(processAdminServicesClient).updateTimerRelative(containerId, processInstanceId, summary.getId(),