protected void changeProcessDefinitionState(CommandContext commandContext, List<ProcessDefinitionEntity> processDefinitions) { for (ProcessDefinitionEntity processDefinition : processDefinitions) { SuspensionStateUtil.setSuspensionState(processDefinition, getProcessDefinitionSuspensionState()); // Evict cache commandContext.getProcessEngineConfiguration().getDeploymentManager().getProcessDefinitionCache().remove(processDefinition.getId()); // Suspend process instances (if needed) if (includeProcessInstances) { int currentStartIndex = 0; List<ProcessInstance> processInstances = fetchProcessInstancesPage(commandContext, processDefinition, currentStartIndex); while (!processInstances.isEmpty()) { for (ProcessInstance processInstance : processInstances) { AbstractSetProcessInstanceStateCmd processInstanceCmd = getProcessInstanceChangeStateCmd(processInstance); processInstanceCmd.execute(commandContext); } // Fetch new batch of process instances currentStartIndex += processInstances.size(); processInstances = fetchProcessInstancesPage(commandContext, processDefinition, currentStartIndex); } } } }
public Void execute(CommandContext commandContext) { if (processDefinitionId == null) { throw new ActivitiIllegalArgumentException("Process definition id is null"); } ProcessDefinitionEntity processDefinition = commandContext.getProcessDefinitionEntityManager().findById(processDefinitionId); if (processDefinition == null) { throw new ActivitiObjectNotFoundException("No process definition found for id = '" + processDefinitionId + "'", ProcessDefinition.class); } // Update category processDefinition.setCategory(category); // Remove process definition from cache, it will be refetched later DeploymentCache<ProcessDefinitionCacheEntry> processDefinitionCache = commandContext.getProcessEngineConfiguration().getProcessDefinitionCache(); if (processDefinitionCache != null) { processDefinitionCache.remove(processDefinitionId); } if (commandContext.getEventDispatcher().isEnabled()) { commandContext.getEventDispatcher().dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_UPDATED, processDefinition)); } return null; }
public void removeDeployment(String deploymentId, boolean cascade) { DeploymentEntity deployment = deploymentEntityManager.findById(deploymentId); if (deployment == null) { throw new ActivitiObjectNotFoundException("Could not find a deployment with id '" + deploymentId + "'.", DeploymentEntity.class); } // Remove any process definition from the cache List<ProcessDefinition> processDefinitions = new ProcessDefinitionQueryImpl().deploymentId(deploymentId).list(); ActivitiEventDispatcher eventDispatcher = Context.getProcessEngineConfiguration().getEventDispatcher(); for (ProcessDefinition processDefinition : processDefinitions) { // Since all process definitions are deleted by a single query, we should dispatch the events in this loop if (eventDispatcher.isEnabled()) { eventDispatcher.dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_DELETED, processDefinition)); } } // Delete data deploymentEntityManager.deleteDeployment(deploymentId, cascade); // Since we use a delete by query, delete-events are not automatically dispatched if (eventDispatcher.isEnabled()) { eventDispatcher.dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_DELETED, deployment)); } for (ProcessDefinition processDefinition : processDefinitions) { processDefinitionCache.remove(processDefinition.getId()); } }
commandContext.getProcessEngineConfiguration().getProcessDefinitionCache().remove(processDefinition.getId());
@SuppressWarnings("rawtypes") public void clear(String deploymentId, String resource) { DeploymentCache<ProjectEngineFactory> deploymentCache = cache.get(deploymentId); if (deploymentCache != null){ deploymentCache.remove(resource); } DeploymentCache<Object> dCache = cacheInstance.get(deploymentId); if (dCache != null) { dCache.remove(resource); } }
@SuppressWarnings("rawtypes") public void clear(String deploymentId, String resource) { DeploymentCache<ProjectEngineFactory> deploymentCache = cache.get(deploymentId); if (deploymentCache != null){ deploymentCache.remove(resource); } DeploymentCache<Object> dCache = cacheInstance.get(deploymentId); if (dCache != null) { dCache.remove(resource); } }
protected void changeProcessDefinitionState(CommandContext commandContext, List<ProcessDefinitionEntity> processDefinitions) { for (ProcessDefinitionEntity processDefinition : processDefinitions) { if (Activiti5Util.isActiviti5ProcessDefinition(commandContext, processDefinition)) continue; SuspensionStateUtil.setSuspensionState(processDefinition, getProcessDefinitionSuspensionState()); // Evict cache commandContext.getProcessEngineConfiguration().getDeploymentManager().getProcessDefinitionCache().remove(processDefinition.getId()); // Suspend process instances (if needed) if (includeProcessInstances) { int currentStartIndex = 0; List<ProcessInstance> processInstances = fetchProcessInstancesPage(commandContext, processDefinition, currentStartIndex); while (!processInstances.isEmpty()) { for (ProcessInstance processInstance : processInstances) { AbstractSetProcessInstanceStateCmd processInstanceCmd = getProcessInstanceChangeStateCmd(processInstance); processInstanceCmd.execute(commandContext); } // Fetch new batch of process instances currentStartIndex += processInstances.size(); processInstances = fetchProcessInstancesPage(commandContext, processDefinition, currentStartIndex); } } } }
.getDeploymentManager() .getProcessDefinitionCache() .remove(processDefinition.getId());
public void removeDeployment(String deploymentId, boolean cascade) { DeploymentEntityManager deploymentEntityManager = Context .getCommandContext() .getDeploymentEntityManager(); if(deploymentEntityManager.findDeploymentById(deploymentId) == null) throw new ActivitiObjectNotFoundException("Could not find a deployment with id '" + deploymentId + "'.", DeploymentEntity.class); // Remove any process definition from the cache List<ProcessDefinition> processDefinitions = new ProcessDefinitionQueryImpl(Context.getCommandContext()) .deploymentId(deploymentId) .list(); for (ProcessDefinition processDefinition : processDefinitions) { processDefinitionCache.remove(processDefinition.getId()); } // Delete data deploymentEntityManager.deleteDeployment(deploymentId, cascade); }
public void removeDeployment(String deploymentId, boolean cascade) { DeploymentEntity deployment = deploymentEntityManager.findById(deploymentId); if (deployment == null) { throw new ActivitiObjectNotFoundException("Could not find a deployment with id '" + deploymentId + "'.", DeploymentEntity.class); } if (processEngineConfiguration.isActiviti5CompatibilityEnabled() && Activiti5CompatibilityHandler.ACTIVITI_5_ENGINE_TAG.equals(deployment.getEngineVersion())) { processEngineConfiguration.getActiviti5CompatibilityHandler().deleteDeployment(deploymentId, cascade); return; } // Remove any process definition from the cache List<ProcessDefinition> processDefinitions = new ProcessDefinitionQueryImpl().deploymentId(deploymentId).list(); ActivitiEventDispatcher eventDispatcher = Context.getProcessEngineConfiguration().getEventDispatcher(); for (ProcessDefinition processDefinition : processDefinitions) { // Since all process definitions are deleted by a single query, we should dispatch the events in this loop if (eventDispatcher.isEnabled()) { eventDispatcher.dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_DELETED, processDefinition)); } } // Delete data deploymentEntityManager.deleteDeployment(deploymentId, cascade); // Since we use a delete by query, delete-events are not automatically dispatched if (eventDispatcher.isEnabled()) { eventDispatcher.dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_DELETED, deployment)); } for (ProcessDefinition processDefinition : processDefinitions) { processDefinitionCache.remove(processDefinition.getId()); } }
public Void execute(CommandContext commandContext) { if (processDefinitionId == null) { throw new ActivitiIllegalArgumentException("Process definition id is null"); } ProcessDefinitionEntity processDefinition = commandContext.getProcessDefinitionEntityManager().findById(processDefinitionId); if (processDefinition == null) { throw new ActivitiObjectNotFoundException("No process definition found for id = '" + processDefinitionId + "'", ProcessDefinition.class); } if (Activiti5Util.isActiviti5ProcessDefinition(commandContext, processDefinition)) { Activiti5CompatibilityHandler activiti5CompatibilityHandler = Activiti5Util.getActiviti5CompatibilityHandler(); activiti5CompatibilityHandler.setProcessDefinitionCategory(processDefinitionId, category); return null; } // Update category processDefinition.setCategory(category); // Remove process definition from cache, it will be refetched later DeploymentCache<ProcessDefinitionCacheEntry> processDefinitionCache = commandContext.getProcessEngineConfiguration().getProcessDefinitionCache(); if (processDefinitionCache != null) { processDefinitionCache.remove(processDefinitionId); } if (commandContext.getEventDispatcher().isEnabled()) { commandContext.getEventDispatcher().dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_UPDATED, processDefinition)); } return null; }
commandContext.getProcessEngineConfiguration().getProcessDefinitionCache().remove(processDefinition.getId());