use of org.jbpm.services.api.model.DeployedUnit in project jbpm by kiegroup.
the class DeploymentServiceTest method testDeploymentOfProcessesWithActivation.
@Test
public void testDeploymentOfProcessesWithActivation() {
assertNotNull(deploymentService);
DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION);
deploymentService.deploy(deploymentUnit);
units.add(deploymentUnit);
DeployedUnit deployed = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());
assertNotNull(deployed);
assertNotNull(deployed.getDeploymentUnit());
assertNotNull(deployed.getRuntimeManager());
assertTrue(deployed.isActive());
assertEquals(0, ((DeployedUnitImpl) deployed).getDeployedClasses().size());
assertNotNull(runtimeDataService);
Collection<ProcessDefinition> processes = runtimeDataService.getProcesses(new QueryContext());
assertNotNull(processes);
assertEquals(5, processes.size());
RuntimeManager manager = deploymentService.getRuntimeManager(deploymentUnit.getIdentifier());
assertNotNull(manager);
// then deactivate it
deploymentService.deactivate(deploymentUnit.getIdentifier());
deployed = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());
assertNotNull(deployed);
assertNotNull(deployed.getDeploymentUnit());
assertNotNull(deployed.getRuntimeManager());
assertFalse(deployed.isActive());
processes = runtimeDataService.getProcesses(new QueryContext());
assertNotNull(processes);
assertEquals(0, processes.size());
// and not activate it again
deploymentService.activate(deploymentUnit.getIdentifier());
deployed = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());
assertNotNull(deployed);
assertNotNull(deployed.getDeploymentUnit());
assertNotNull(deployed.getRuntimeManager());
assertTrue(deployed.isActive());
processes = runtimeDataService.getProcesses(new QueryContext());
assertNotNull(processes);
assertEquals(5, processes.size());
}
use of org.jbpm.services.api.model.DeployedUnit in project jbpm by kiegroup.
the class DeploymentServiceTest method testDeploymentWithDeclaredTypeInDRL.
@Test
public void testDeploymentWithDeclaredTypeInDRL() {
assertNotNull(deploymentService);
DeploymentUnit deploymentUnit3 = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, "1.1.0-SNAPSHOT");
deploymentService.deploy(deploymentUnit3);
units.add(deploymentUnit3);
DeployedUnit deployed3 = deploymentService.getDeployedUnit(deploymentUnit3.getIdentifier());
assertNotNull(deployed3);
assertNotNull(deployed3.getDeploymentUnit());
assertNotNull(deployed3.getRuntimeManager());
assertEquals(1, ((DeployedUnitImpl) deployed3).getDeployedClasses().size());
try {
assertNotNull(Class.forName("org.pkg1.Message", true, ((InternalRuntimeManager) deployed3.getRuntimeManager()).getEnvironment().getClassLoader()));
} catch (ClassNotFoundException e) {
fail("Class org.pkg1.Message should be found in deployment");
}
}
use of org.jbpm.services.api.model.DeployedUnit in project jbpm by kiegroup.
the class DeploymentServiceTest method testDuplicatedDeployment.
@Test(expected = RuntimeException.class)
public void testDuplicatedDeployment() {
assertNotNull(deploymentService);
DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION);
assertFalse(deploymentService.isDeployed(deploymentUnit.getIdentifier()));
deploymentService.deploy(deploymentUnit);
units.add(deploymentUnit);
assertTrue(deploymentService.isDeployed(deploymentUnit.getIdentifier()));
DeployedUnit deployedGeneral = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());
assertNotNull(deployedGeneral);
assertNotNull(deployedGeneral.getDeploymentUnit());
assertNotNull(deployedGeneral.getRuntimeManager());
// duplicated deployment of the same deployment unit should fail
deploymentService.deploy(deploymentUnit);
}
use of org.jbpm.services.api.model.DeployedUnit in project jbpm by kiegroup.
the class DeploymentServiceTest method testDeploymentOfMultipleVersions.
@Test
public void testDeploymentOfMultipleVersions() {
assertNotNull(deploymentService);
DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION);
DeploymentUnit deploymentUnit3 = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, "1.1.0-SNAPSHOT");
deploymentService.deploy(deploymentUnit);
units.add(deploymentUnit);
deploymentService.deploy(deploymentUnit3);
units.add(deploymentUnit3);
DeployedUnit deployed = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());
assertNotNull(deployed);
assertNotNull(deployed.getDeploymentUnit());
assertNotNull(deployed.getRuntimeManager());
assertEquals(0, ((DeployedUnitImpl) deployed).getDeployedClasses().size());
DeployedUnit deployed3 = deploymentService.getDeployedUnit(deploymentUnit3.getIdentifier());
assertNotNull(deployed3);
assertNotNull(deployed3.getDeploymentUnit());
assertNotNull(deployed3.getRuntimeManager());
assertEquals(1, ((DeployedUnitImpl) deployed3).getDeployedClasses().size());
assertNotNull(runtimeDataService);
Collection<ProcessDefinition> processes = runtimeDataService.getProcesses(new QueryContext());
assertNotNull(processes);
assertEquals(10, processes.size());
DeployedUnit deployedLatest = deploymentService.getDeployedUnit(GROUP_ID + ":" + ARTIFACT_ID + ":LATEST");
assertNotNull(deployedLatest);
assertNotNull(deployedLatest.getDeploymentUnit());
assertNotNull(deployedLatest.getRuntimeManager());
assertEquals(deploymentUnit3.getIdentifier(), deployedLatest.getDeploymentUnit().getIdentifier());
}
use of org.jbpm.services.api.model.DeployedUnit in project jbpm by kiegroup.
the class AbstractDeploymentService method undeploy.
@Override
public void undeploy(DeploymentUnit unit) {
List<Integer> states = new ArrayList<Integer>();
states.add(ProcessInstance.STATE_ACTIVE);
states.add(ProcessInstance.STATE_PENDING);
states.add(ProcessInstance.STATE_SUSPENDED);
Collection<ProcessInstanceDesc> activeProcesses = runtimeDataService.getProcessInstancesByDeploymentId(unit.getIdentifier(), states, new QueryContext());
if (!activeProcesses.isEmpty()) {
throw new IllegalStateException("Undeploy forbidden - there are active processes instances for deployment " + unit.getIdentifier());
}
synchronized (this) {
DeployedUnit deployed = deploymentsMap.remove(unit.getIdentifier());
if (deployed != null) {
RuntimeManager manager = deployed.getRuntimeManager();
((AbstractRuntimeManager) manager).close(true);
}
notifyOnUnDeploy(unit, deployed);
}
}
Aggregations