camunda清除缓存

阅读 85

2022-04-25

camunda清除流程定义缓存

camunda修改流程图保存后发现仍然使用的是原来的流程图,这是因为camunda会将流程定义缓存到本地内存中。因此修改流程图保存时要清除本地缓存。

通过SpringProcessEngineConfiguration获取缓存并清理

purgeCache()会清除processDefinitionCache,bpmnModelInstanceCache,caseDefinitionCache,cmmnModelInstanceCache,
decisionDefinitionCache,dmnModelInstanceCache,decisionRequirementsDefinitionCache,请谨慎使用此方法.
	// 使用ProcessEngineConfiguration获取缓存并清理
	@Autowired
	private SpringProcessEngineConfiguration springProcessEngineConfiguration;
	
	public void cacheClear(String deploymentId){
		
		// if (StringUtils.isBlank(deploymentId)) { // 通过act_re_deployment表的id(既部署id)删除对应的缓存
				springProcessEngineConfiguration.getDeploymentCache().removeDeployment(deploymentId);
		// }else { // 或者使用purgeCache()清除所有缓存
			
			// springProcessEngineConfiguration.getDeploymentCache().purgeCache();
		// }
	}

精彩评论(0)

0 0 举报