private void testGetProcessInstancesResponseHandler(ResponseHandler responseHandler) throws Exception { List<ProcessInstance> processInstances = queryClient.findProcessInstances(0, 100); assertThat(processInstances).isEmpty(); Long processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_USERTASK); assertThat(processInstanceId).isNotNull(); KieServerSynchronization.waitForProcessInstanceStart(queryClient, CONTAINER_ID); // change response handler for queryClient others are not affected queryClient.setResponseHandler(responseHandler); // Process should be started completely async - fire and forget. processInstances = queryClient.findProcessInstances(0, 100); assertThat(processInstances).isNull(); // set it back for the sake of verification queryClient.setResponseHandler(new RequestReplyResponseHandler()); // Process should be started completely async - fire and forget. processInstances = queryClient.findProcessInstances(0, 100); assertThat(processInstances).isNotNull().hasSize(1); ProcessInstance pi = processInstances.get(0); assertThat(pi.getState()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE); }
query.setTarget("CUSTOM"); queryClient.setResponseHandler(responseHandler); queryClient.registerQuery(query); queryClient.setResponseHandler(new RequestReplyResponseHandler()); KieServerSynchronization.waitForQuery(queryClient, query); queryClient.setResponseHandler(responseHandler); queryClient.replaceQuery(query); queryClient.setResponseHandler(new RequestReplyResponseHandler()); KieServerSynchronization.waitForQuery(queryClient, query); queryClient.setResponseHandler(new RequestReplyResponseHandler()); queryClient.unregisterQuery(query.getName()); throw e; queryClient.setResponseHandler(responseHandler); queryClient.unregisterQuery(query.getName()); queryClient.setResponseHandler(new RequestReplyResponseHandler()); KieServerSynchronization.waitForQueryRemoval(queryClient, query);
@After public void resetResponseHandler() { processClient.setResponseHandler(new RequestReplyResponseHandler()); queryClient.setResponseHandler(new RequestReplyResponseHandler()); taskClient.setResponseHandler(new RequestReplyResponseHandler()); }