use of org.kie.api.executor.CommandContext in project jbpm by kiegroup.
the class BasicExecutorBaseTest method testUpdateRequestData.
@Test(timeout = 10000)
public void testUpdateRequestData() throws InterruptedException {
CountDownAsyncJobListener countDownListener = configureListener(2);
CommandContext ctxCMD = new CommandContext();
ctxCMD.setData("businessKey", UUID.randomUUID().toString());
ctxCMD.setData("retryDelay", "1s, 2s");
Long requestId = executorService.scheduleRequest("org.jbpm.executor.test.MissingDataCommand", ctxCMD);
countDownListener.waitTillCompleted();
List<RequestInfo> executedRequests = executorService.getCompletedRequests(new QueryContext());
assertEquals(0, executedRequests.size());
Map<String, Object> fixedData = new HashMap<>();
fixedData.put("amount", 200);
executorService.updateRequestData(requestId, fixedData);
countDownListener.reset(1);
countDownListener.waitTillCompleted();
executedRequests = executorService.getCompletedRequests(new QueryContext());
assertEquals(1, executedRequests.size());
}
use of org.kie.api.executor.CommandContext in project jbpm by kiegroup.
the class BasicExecutorBaseTest method callbackTest.
@Test(timeout = 10000)
public void callbackTest() throws InterruptedException {
CountDownAsyncJobListener countDownListener = configureListener(1);
CommandContext commandContext = new CommandContext();
commandContext.setData("businessKey", UUID.randomUUID().toString());
cachedEntities.put((String) commandContext.getData("businessKey"), new AtomicLong(1));
commandContext.setData("callbacks", "org.jbpm.executor.SimpleIncrementCallback");
executorService.scheduleRequest("org.jbpm.executor.commands.PrintOutCommand", commandContext);
countDownListener.waitTillCompleted();
List<RequestInfo> inErrorRequests = executorService.getInErrorRequests(new QueryContext());
assertEquals(0, inErrorRequests.size());
List<RequestInfo> queuedRequests = executorService.getQueuedRequests(new QueryContext());
assertEquals(0, queuedRequests.size());
List<RequestInfo> executedRequests = executorService.getCompletedRequests(new QueryContext());
assertEquals(1, executedRequests.size());
assertEquals(2, ((AtomicLong) cachedEntities.get((String) commandContext.getData("businessKey"))).longValue());
}
use of org.kie.api.executor.CommandContext in project jbpm by kiegroup.
the class BasicExecutorBaseTest method executorPagingTest.
@Test(timeout = 10000)
public void executorPagingTest() throws InterruptedException {
CommandContext ctxCMD = new CommandContext();
String businessKey = UUID.randomUUID().toString();
ctxCMD.setData("businessKey", businessKey);
Date futureDate = new Date(System.currentTimeMillis() + EXTRA_TIME);
Long requestId1 = executorService.scheduleRequest("org.jbpm.executor.test.CustomCommand", futureDate, ctxCMD);
Long requestId2 = executorService.scheduleRequest("org.jbpm.executor.test.CustomCommand", futureDate, ctxCMD);
QueryContext queryContextFirstPage = new QueryContext(0, 1);
QueryContext queryContextSecondPage = new QueryContext(1, 1);
List<RequestInfo> firstRequests = executorService.getRequestsByCommand("org.jbpm.executor.test.CustomCommand", queryContextFirstPage);
List<RequestInfo> secondRequests = executorService.getRequestsByCommand("org.jbpm.executor.test.CustomCommand", queryContextSecondPage);
compareRequestsAreNotSame(firstRequests.get(0), secondRequests.get(0));
firstRequests = executorService.getRequestsByBusinessKey(businessKey, queryContextFirstPage);
secondRequests = executorService.getRequestsByBusinessKey(businessKey, queryContextSecondPage);
compareRequestsAreNotSame(firstRequests.get(0), secondRequests.get(0));
firstRequests = executorService.getQueuedRequests(queryContextFirstPage);
secondRequests = executorService.getQueuedRequests(queryContextSecondPage);
compareRequestsAreNotSame(firstRequests.get(0), secondRequests.get(0));
// cancel the task immediately
executorService.cancelRequest(requestId1);
executorService.cancelRequest(requestId2);
firstRequests = executorService.getCancelledRequests(queryContextFirstPage);
secondRequests = executorService.getCancelledRequests(queryContextSecondPage);
compareRequestsAreNotSame(firstRequests.get(0), secondRequests.get(0));
firstRequests = executorService.getAllRequests(queryContextFirstPage);
secondRequests = executorService.getAllRequests(queryContextSecondPage);
compareRequestsAreNotSame(firstRequests.get(0), secondRequests.get(0));
// Setting too far page
QueryContext queryContextBigOffset = new QueryContext(10, 1);
List<RequestInfo> offsetRequests = executorService.getCancelledRequests(queryContextBigOffset);
assertNotNull(offsetRequests);
assertEquals(0, offsetRequests.size());
}
use of org.kie.api.executor.CommandContext in project jbpm by kiegroup.
the class BasicExecutorBaseTest method testReturnNullCommand.
@Test(timeout = 10000)
public void testReturnNullCommand() throws InterruptedException {
CountDownAsyncJobListener countDownListener = configureListener(1);
CommandContext ctxCMD = new CommandContext();
ctxCMD.setData("businessKey", UUID.randomUUID().toString());
executorService.scheduleRequest("org.jbpm.executor.test.ReturnNullCommand", ctxCMD);
countDownListener.waitTillCompleted();
List<RequestInfo> inErrorRequests = executorService.getInErrorRequests(new QueryContext());
assertEquals(0, inErrorRequests.size());
List<RequestInfo> queuedRequests = executorService.getQueuedRequests(new QueryContext());
assertEquals(0, queuedRequests.size());
List<RequestInfo> executedRequests = executorService.getCompletedRequests(new QueryContext());
assertEquals(1, executedRequests.size());
}
use of org.kie.api.executor.CommandContext in project jbpm by kiegroup.
the class BasicExecutorBaseTest method addAnotherCallbackTest.
@Test(timeout = 10000)
public void addAnotherCallbackTest() throws InterruptedException {
CountDownAsyncJobListener countDownListener = configureListener(1);
CommandContext commandContext = new CommandContext();
commandContext.setData("businessKey", UUID.randomUUID().toString());
cachedEntities.put((String) commandContext.getData("businessKey"), new AtomicLong(1));
commandContext.setData("callbacks", "org.jbpm.executor.SimpleIncrementCallback");
executorService.scheduleRequest("org.jbpm.executor.test.AddAnotherCallbackCommand", commandContext);
countDownListener.waitTillCompleted();
List<RequestInfo> inErrorRequests = executorService.getInErrorRequests(new QueryContext());
assertEquals(0, inErrorRequests.size());
List<RequestInfo> queuedRequests = executorService.getQueuedRequests(new QueryContext());
assertEquals(0, queuedRequests.size());
List<RequestInfo> executedRequests = executorService.getCompletedRequests(new QueryContext());
assertEquals(1, executedRequests.size());
assertEquals(3, ((AtomicLong) cachedEntities.get((String) commandContext.getData("businessKey"))).longValue());
}
Aggregations