public Runnable getStoreArtifactRunnable(final KieModuleRepo kieModuleRepo, final String groupId, final String artifactId, final String version, final CyclicBarrier storeOperationBarrier, final CyclicBarrier threadsFinishedBarrier) { return () -> { final ReleaseIdImpl firstReleaseId = new ReleaseIdImpl(groupId, artifactId, version); final KieModule firstKieModule = mock(KieModule.class); when(firstKieModule.getReleaseId()).thenReturn(firstReleaseId); waitFor(storeOperationBarrier); kieModuleRepo.store(firstKieModule); waitFor(threadsFinishedBarrier); }; }
waitFor(storeRemoveOperationBarrier); kieModuleRepo.remove(releaseId); waitFor(operationsSerializationBarrier); waitFor(threadsFinishedBarrier); }; waitFor(storeRemoveOperationBarrier); waitFor(operationsSerializationBarrier); kieModuleRepo.store(redeployKieModule); waitFor(threadsFinishedBarrier); }; waitFor(threadsFinishedBarrier); } finally { executor.shutdownNow();
secondThread.setName("newFeature"); executor.submit(secondThread); waitFor(threadsFinishedBarrier); } finally { executor.shutdownNow();